摘要: LL china(int n, int* a, int *m){ LL M=1, d, y, x = 0; for(int i = 0; i < n; i++) M *= m[i]; for(int i = 0; i < n; i++) { LL w = M / m[i]; gcd(m[i], w, d, d, y); x ... 阅读全文
posted @ 2019-06-10 17:01 Hanasaki 阅读(109) 评论(0) 推荐(0)
摘要: 欧拉定理: 费马小定理类似欧拉定理的推论 费马小定理: 则(a/b)%p=(a*b^(p-2))%p 阅读全文
posted @ 2019-06-10 16:59 Hanasaki 阅读(147) 评论(0) 推荐(0)
摘要: 假设 ax1+by1=gcd(a,b) (方程一) bx2+(a%b)y2=gcd(b,a%b)(方程二)由欧几里得算法gcd(a,b)=gcd(b,a%b) 得到 ax1+by1=bx2+(a%b)y2即ax1+by1=bx2+(a-a/b*b)y2 => ax1+by1=ay2+b(x2-a/b 阅读全文
posted @ 2019-06-10 11:40 Hanasaki 阅读(178) 评论(0) 推荐(0)
摘要: 给出一个数组,实现一个数据结构以支持查询操作Query(L, R):计算{AL, AL+1, ... , AR} 阅读全文
posted @ 2019-06-10 11:19 Hanasaki 阅读(181) 评论(0) 推荐(0)
摘要: #define lowbit(x) x&-x//lowbit取二进制最后的10*序列(例:lowbit(1000100)= 100) const int S; int c[S] = {0}; void add(int x, int d){ while(x <= S) c[x] += d,x += l 阅读全文
posted @ 2019-06-10 11:06 Hanasaki 阅读(99) 评论(0) 推荐(0)
摘要: void init(){ for(int i = 1; i <= N; i++) f[i] = i; } int find(int k) { return f[k] == k? k : f[k] = find(f[k]); } int union(int a, int b){ f[find(b)] = find(a); } 阅读全文
posted @ 2019-06-10 10:59 Hanasaki 阅读(115) 评论(0) 推荐(0)
摘要: 上述算法已经很高效了而且便于编写,如果还想进一步加速也可以使用线性筛 阅读全文
posted @ 2019-06-10 10:51 Hanasaki 阅读(82) 评论(0) 推荐(0)