• csp-s 65 Simple


    最近的性质题都垮掉了

    nx+my=c,x,y非负整数 求1-q内有多少个c满足

    q<=1e18

    60% exgcd 但别深陷其中,性质还是要找

    考虑枚举x或y那么有c-m=nx,c-2*m=nx,的形式

    因为n,m均为正整数,所以在c-m>=0,c-2*m>=0  下 (c-m)%n==0 ,(c-2*m)%n==0 一定有合法x解

    全部枚举的话复杂度过高且有重复问题

    考虑如何避免重复:对于每一个确定的c有唯一确定的最小整数解

    所以只要枚举最小x/y的整数解即可

    考虑其范围:用到了exgcd的通解公式:

    x=x0+num*m/(gcd(n,m)),y=y0+num*n/(gcd(n,m)),

    最小整数解是x%(m/(gcd(n,m)))    y%( n/gcd(n,m) );

    分别对应范围0-m/gcd(n,m)-1,  0-n/(gcd(n,m))-1;

    m1e9,  n1e5所以枚举y的最小整数解那么每一个合法的c都在唯一的一个y中对应着唯一一个x 所以ans+=(q-i*m)/n+1即可算出合法解的个数

    +1是因为0的存在

    由于枚举了y=0,的情况所以这时+1表示了x=0,y=0,  ->c=0不合法

    所以答案是q-ans+1;

  • 相关阅读:
    input上传图片的坑
    nodejs创建一个静态文件服务器的根目录anywhere
    深浅拷贝
    es6中数组的flat()和flatMap()
    new Date()在ios上的坑
    一些常用的css Hack
    IntrospectorCleanupListener
    http header
    ActionContextCleanUp
    OpenSessionInViewFilter
  • 原文地址:https://www.cnblogs.com/three-D/p/11639282.html
Copyright © 2020-2023  润新知