
数论
shawwwOvO
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ccpc长春-K. Ragdoll(启发式合并、并查集、gcd转化)map的神奇tle
K. Ragdoll 菜死我得了 unordered_map<int, LL> mp[maxn];//存连通块内元素a[i] vector<int> g[maxn];//存数字大小为下标的解 int f[maxn], sz[maxn];//并查集 int a[maxn]; LL ans; int find(int x) { if (f[x] == x)return x; else return f[x] = find(f[x]); } void merge(int x, int原创 2020-11-25 17:02:58 · 521 阅读 · 0 评论 -
hdu(三)The Oculus(自然溢出,Fibonacci表示)
HDU6768 The Oculus 题意:已知任意的数字可以分成斐波那契的序列,好烦我不想讲题意了,比赛时候好像看错了。现在让你找一位错误位,那我们就可以化成已知数字AAA,错误斐波那契序列 … 我不知道了我先把我写过了的代码贴上吃完饭再说^^ LL f[maxn]; LL rin(int n) { int tt; LL ans = 0; for (int i = 1; i <= n; i++) { sci(tt); if (tt)ans +原创 2020-09-24 17:35:02 · 174 阅读 · 0 评论 -
Codeforces Round #671 (Div. 2)E. Decryption(因数分解、构造)
E. Decryption(因数分解、构造) link 题意:给定合数nnn,把他们的因子分出来,自己排顺序放在一个环上。要求相邻的数字gcd≠1gcd\ne1gcd=1。可以进行另外的向两数插入lcmlcmlcm的操作。要求输出最小的操作数的序列 思路:都已经开始合数了必然开素数或者因数分解。但是n≤109n\le10^9n≤109,应该不能线性筛上了。 考虑用n\sqrt{n}n筛出他的因子(不包括素数)facifac_ifaci,找出因子的同时判断是不是素数(faci\sqrt{fac_i}原创 2020-09-23 14:58:00 · 178 阅读 · 0 评论 -
hdu多校(一)1005 Fibonacci Sum(组合数学、fibo通项公式,二次剩余,数学)
1005 Fibonacci Sum 题意: 给定N、C(101810^{18}1018)、K(105)(10^5)(105)对于Fibonacci数列进行F0K+FCK+F2CK+...+FNCKF_0^{K}+F_C^{K}+F_{2C}^{K}+...+F_{NC}^{K}F0K+FCK+F2CK+...+FNCK进行mod(109+9)(10^9+9)(109+9)的计算 思路: 已知Fibonacci数列有个通项公式:Fn=15[(1+52)n−(1−52)n]F_n=\frac{1}{\原创 2020-09-23 10:50:59 · 182 阅读 · 0 评论 -
二次剩余
对于数字nnn,求n%p\sqrt{n}\%pn%p,看nnn是否是%p的二次剩余,是的话用xxx代替n\sqrt{n}n 代码: template<typename T> inline int pow(int x, T y) { int res = 1; x %= MOD; for (; y; y >>= 1, x = (LL)x*x%MOD) if (y & 1) res = (LL)res*x%MOD; return res; } inline int Qua原创 2020-09-22 15:09:32 · 110 阅读 · 0 评论 -
欧拉降幂公式
欧拉降幂公式 ab≡a^b\equivab≡ ab%ϕ(p)a^{b \% \phi(p)}ab%ϕ(p) (mod(mod(mod p)p)p) aba^{b}ab (mod(mod(mod p)p)p) (mod(mod(mod p)p)p) b<ϕ(p)b<\phi(p)b<ϕ(p) ab%ϕ(p)+ϕ(p)a^{b \% \phi(p)+\phi(p)}ab%ϕ(p)+ϕ(p) (mod(mod(mod p)p)p) b≥ϕ(p)b\ge\phi(p)b≥ϕ(p) 求解代码原创 2020-09-22 15:01:23 · 236 阅读 · 1 评论 -
Codeforces Round #670 (Div. 2) E. Deleting Numbers(交互,素数构造)
题意: 给定序列[1,n][1,n][1,n],用给定的合法操作猜出xxx 有三种操作 A a:问含a因子的数字的个数 B a:问含a因子的数字的个数,之后把除了答案的所有含a因子的数字从序列删除。 C a:确定答案是a 思路: 交互,思路如下,明天细说,今天跑路跑路。 代码: int v[maxn], prime[maxn];//v存质数,vis判断是不是质数 int primes(int n) { int m = 0; for (int i = 2; i <= n; i++) { i原创 2020-09-21 21:12:35 · 141 阅读 · 0 评论 -
差分
差分及模板题基础思想两个模板题增减序列Tallest Cow 基础思想 两个模板题 增减序列 ACwing 增减序列 注意:对应i=1i=1i=1的情况,不计入正负计数 LL a[maxn],b[maxn]; int main () { int n; cin>>n; LL pos=0,neg=0; for(int i=1;i<=n;i++){ cin>>a[i]; if(i==1)b[i]=a[i];原创 2020-07-11 22:57:46 · 213 阅读 · 0 评论 -
POJ 1845 sumdiv(分治、二分递归、快速幂、数论约束和公式)
POJ 1845 解题思路如下: 注意点 小心多组输入 不要太轻易相信板子。我的快速幂重载居然错了。无语无语 记得清零 LL p[maxn],k[maxn],modd=9901; LL sum(LL p,LL k){ if(k==0)return 1; if(k%2){ return (sum(p,k/2)*(1+qpow(p,k/2+1)))%modd; }else return (sum(p,k/2-1)*(1+qpow(p,k/2+1))+qpow(p,k原创 2020-07-10 00:39:54 · 144 阅读 · 0 评论 -
C. Yet Another Counting Problem(规律、数学)
C. Yet Another Counting Problem CF 1342C 题意:ttt次测试,每次测试给定a、b、qa、b、qa、b、q 接下来qqq次询问,给定li,ril_i,r_ili,ri,问在[li,ri][l_i,r_i][li,ri]区间范围内,使得((x mod a) mod b)≠((x mod b) mod a)((x \bmod a)\bmod b)\ne (...原创 2020-04-29 01:46:58 · 396 阅读 · 0 评论 -
数论模板
数论模板线性筛试除法 线性筛 LL v[maxn],prime[maxn];//prime存质数,v判断是不是质数 int primes(LL n){ int m=0; for(LL i=2;i<=n;i++){ if(v[i]==0){//i是质数 v[i]=i;prime[++m]=i; } for(...原创 2020-04-03 21:37:35 · 107 阅读 · 0 评论 -
POJ2689 Prime Distance(素数、线性筛、试除法)
POJ2689 Prime Distance 坑死我了,除0导致re到si。还一直以为数组越界自闭了一早上。 题意:给定两个整数L、U。求闭区间中相邻两素数的差的最大值和最小值,输出这两个质数。LU的范围2e9。U-L范围1e6。 思路: LU的范围2e9,直接线性筛子会 MLE&&TLE。但是U-L范围是1e6。 任何合数n必定包含一个不超过 n\sqrt{n}n的质因子。 所...原创 2020-04-03 12:59:05 · 195 阅读 · 0 评论 -
C. Everyone is a Winner!(整除分块)
C. Everyone is a Winner! 题意:给定n,问n的整除答案有多少种并一一输出。(⌊N/i⌋的不同取值个数,输出) 数论分块裸题 如果 ⌊N/i′⌋ 与 ⌊N/i⌋ 相等,那么i‘的最大值为⌊N/⌊N/i⌋⌋ 所以设置两个指针 l 、r。l 初始值为1,每次r=⌊N/⌊N/i⌋⌋,r-l+1就是每种答案的个数,n/r就是每个不同的答案 int a[maxn]; int main(...原创 2020-03-03 20:33:40 · 223 阅读 · 0 评论