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;