Loading [MathJax]/extensions/TeX/mathchoice.js

随笔分类 -  数论

摘要:https://atcoder.jp/contests/agc038/tasks/agc038_c 题意:给ai,求ni=1nj=i+1lcm(ai,aj) 题解:设d|icd=1i,O(nlogn)求出$c_i 阅读全文
posted @ 2019-09-25 15:54 walfy 阅读(204) 评论(0) 推荐(0) 编辑
摘要:F(n)=ni=1nj=1[lcm(i,j)+gcd(i,j)n] S(n)=ni=1F(i) $F(n)=n^2 \sum_{i=1}^n\sum_{j=1}^n[lcm(i,j)+gcd(i,j) // include defin 阅读全文
posted @ 2019-07-15 15:14 walfy 阅读(183) 评论(0) 推荐(0) 编辑
摘要:题意略: 题解:二次剩余板子题 // pragma GCC optimize(2) // pragma GCC optimize(3) // pragma GCC optimize(4) // pragma GCC optimize("unroll loops") // pragma comment 阅读全文
posted @ 2019-07-03 19:48 walfy 阅读(127) 评论(0) 推荐(0) 编辑
摘要:题意:给你一个数组a,q次查询,每次l,r,要求 a_{l}^{a_{l+1}}^{a_{l+2}}...{a_r} 题解:由欧拉降幂可知,最多log次eu(m)肯定变1,那么直接暴力即可,还有一个问题是欧拉降幂公式, $a^{b}mod c=a^{b mod\phi(c)+\phi(c)}mo 阅读全文
posted @ 2019-03-29 16:28 walfy 阅读(239) 评论(0) 推荐(0) 编辑
摘要:题意:x是[1e5,1e9]的随机数,p是小于x的最大素数,q是大于等于x的最小素数,n=pq,c=f^{2^{30}+3}\mod{n},给n和c求f 题解:rsa解密,首先在sqrt(n)附近找到p和q,让r=(p 1) (q 1),e=2^{30}+3,$d e\mod 阅读全文
posted @ 2019-03-13 13:41 walfy 阅读(948) 评论(0) 推荐(0) 编辑
摘要:题意:Arnold变换把矩阵(x,y)变成((x+y)%n,(x+2 y)%n),问最小循环节 题解:仔细算前几项能看出是斐波那契数论modn,然后套个斐波那契循环节板子即可 阅读全文
posted @ 2018-10-09 12:58 walfy 阅读(285) 评论(0) 推荐(0) 编辑
摘要:题意:给定一个整数N,你需要求出∑gcd(i, N)(1 define fi first define se second define mp make_pair define pb push_back define pi acos( 1.0) define ll long long define 阅读全文
posted @ 2018-07-04 11:56 walfy 阅读(153) 评论(0) 推荐(0) 编辑
摘要:题意:给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值其中k mod i表示k除以i的余数。例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 mod 4 + 3 mod 5=0+1+0+3+ 阅读全文
posted @ 2018-05-28 19:44 walfy 阅读(129) 评论(0) 推荐(0) 编辑
摘要:1.线性 ll inv[N]; void init(ll p) { inv[1]=1; for(ll i=2;i<N;i++) inv[i]=(p-p/i)*inv[p%i]%p; } 2.费马小定理:当模数是素数,a^(p-1)=1(mod p) 那么a^(p-2)=a^-1(mod p) ,也就 阅读全文
posted @ 2018-02-10 15:29 walfy 阅读(181) 评论(0) 推荐(0) 编辑
摘要:A:水题,直接出答案(我因为括号打错地方wa了一发= =) //#pragma comment(linker, "/stack:200000000") //#pragma GCC optimize("Ofast,no-stack-protector") //#pragma GCC target("s 阅读全文
posted @ 2018-01-31 10:04 walfy 阅读(195) 评论(0) 推荐(0) 编辑
摘要:中文题意不多说,这题主要是数据太大,无法递推,所以用欧拉常数来解决 对于调和级数1/1+1/2+...+1/n=ln(n)+C+1/(2*n),C为欧拉常数,再加上ceil向上取整就可以了 #include<bits/stdc++.h> #define fi first #define se sec 阅读全文
posted @ 2017-12-08 16:52 walfy 阅读(156) 评论(0) 推荐(0) 编辑
摘要:题意:给一堆石子,每次移动一颗到另一堆,要求最小次数使得,所有石子数gcd>1 题解:枚举所有质因子,然后找次数最小的那一个,统计次数时,我们可以事先记录下每堆石子余质因子 的和,对所有石子取余,sort,从后往前扫(这样做的原因是取余后的数组只有可能有三种,排序之后最后的就是最大的,加上质因子减去 阅读全文
posted @ 2017-11-13 14:07 walfy 阅读(794) 评论(0) 推荐(0) 编辑
摘要:用lucas定理, p必须是素数 对于单独的C(n, m) mod p,已知C(n, m) mod p = n!/(m!(n - m)!) mod p。显然除法取模,这里要用到m!(n-m)!的逆元。 根据费马小定理: 已知(a, p) = 1,则 ap-1 ≡ 1 (mod p), 所以 a*ap 阅读全文
posted @ 2017-08-06 14:29 walfy 阅读(189) 评论(0) 推荐(0) 编辑
摘要:打表欧拉函数,求2到n的欧拉函数和 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #inc 阅读全文
posted @ 2017-07-25 13:53 walfy 阅读(164) 评论(0) 推荐(0) 编辑
摘要:二分 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #include<iomanip> # 阅读全文
posted @ 2017-07-24 11:52 walfy 阅读(196) 评论(0) 推荐(0) 编辑
摘要:模板题,不过好像有点问题,当a==1的时候,答案把一也算进去了,要减去 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #inc 阅读全文
posted @ 2017-07-24 10:24 walfy 阅读(133) 评论(0) 推荐(0) 编辑
摘要:很容易推出来的公式ans=n^(k-1)*k*sum 然后快速幂就好了 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #inc 阅读全文
posted @ 2017-07-24 09:50 walfy 阅读(212) 评论(0) 推荐(0) 编辑
摘要:数据比较小时直接算,数据比较大时用公式1+1/2+...+1/n=inn+C+1/(2*n) ,C是欧拉常数0.5772156649 刚开始用的这个1+1/2+...+1/n=in(n+1)+C,结果一直wa。。。。 #include<map> #include<set> #include<cmat 阅读全文
posted @ 2017-07-23 20:24 walfy 阅读(445) 评论(0) 推荐(0) 编辑
摘要:唯一分解定理 先分解面积,然后除2,再减去面积%长度==0的情况,注意毯子不能是正方形 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstd 阅读全文
posted @ 2017-07-20 19:45 walfy 阅读(222) 评论(0) 推荐(0) 编辑
摘要:这题有两种解法,1是根据欧拉函数性质:素数的欧拉函数值=素数-1(可根据欧拉定义看出)欧拉函数定义:小于x且与x互质的数的个数 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<v 阅读全文
posted @ 2017-07-20 17:05 walfy 阅读(166) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示