摘要:
关于扩展欧几里得算法和逆元 1.扩欧 a*x1+b*y1=gcd(a,b); b*x2+(a%b)*y2=gcd(b, (a%b))= gcd(a,b); a%b=a-(a/b)*b; 联立可得 x1=y2 y1=x2-(a/b)*y2; 递归的边界为b=0 此时x=1,y=0,然后回溯即可。 为什 阅读全文
摘要:
P2431 正妹吃月饼 我一开始是a<=2^n-1<=b,直接输出n=(int)log(b+1)/log(2); 50分,没有仔细分析2^n-1<a但是2^(n+1)-1>b的情况。 这里考虑位运算 在l小于r的基础上从小到大|1,最后有多少个一加起来就可以了。 阅读全文