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;

猜你喜欢

转载自www.cnblogs.com/three-D/p/11639282.html