
数论
thusloop
这个作者很懒,什么都没留下…
展开
-
2021牛客多校 Hash Function(fft或者NTT)
Hash Function题意:给出数组,求最小的mod使得 每个数取模后都不同。思路:a%p=b%p 等价于 (a-b)%p=0 ,所以p不能为数组中任意两个数的差 ,假设我们现在知道了存在哪些差值,那么我们可以枚举倍数的方法求最小的p,求所有差值可以用fft ,可以转化为(xa1+xa2+xa3+……+xan)*(x-a1+x-a2+x-a3+……+x-an) 系数大于0的那个指数就是存在的差值负数可以加个500001;#include<bits/stdc++.h>#defin原创 2021-11-24 20:48:13 · 403 阅读 · 0 评论 -
扩展中国剩余定理
#include<bits/stdc++.h>#define int long long#define LD long double#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);using namespace std;const int inf=2e18+100;const int maxn=1e5+10;int a[maxn],b[maxn];int n;int mul(int a,int b,.原创 2021-10-19 20:05:42 · 149 阅读 · 0 评论 -
【模板】扩展 BSGS/exBSGS
//#pragma GCC optimize(2)//#pragma GCC optimize(3,"Ofast","inline")#include<bits/stdc++.h>#define int long long#define fi first#define se second#define pb push_back#define pii pair<int,int>#define IOS ios::sync_with_stdio(false);cin.ti.原创 2021-10-19 19:57:25 · 151 阅读 · 0 评论 -
YY的GCD(莫比乌斯反演)
YY的GCD题意:求 i<=n,j<=m 的对数使得gcd(i,j)==p且p为质数//#pragma GCC optimize(2)//#pragma GCC optimize(3,"Ofast","inline")#include<bits/stdc++.h>#define int long long#define fi first#define se second#define pb push_back#define pii pair<int,int&g原创 2021-10-08 17:08:42 · 177 阅读 · 0 评论 -
Nezzar and Board(多个数的裴蜀定理)
Nezzar and Board题意:给出数组 a ,每次操作 可以 选任意两个数x,y 。数组中加入 2x-y。求是否可以变成k。思路:经过模拟发现 变化的数可以写成 ai+∑(aj-ak) 。 aj-ak=(aj-ai)+(ai-ak) … …ai可以写成 ai=(ai-a(i-1))+a(i-1)最后可以写成 a1+∑ fi (ai-a(i-1)) 即求这个式子是否等于 k即 f1(a2-a1)+f2(a3-a2)+f3(a4-a3)+……+=k-a1令g = g c d ( [原创 2021-09-17 15:56:32 · 357 阅读 · 0 评论 -
余数求和(整数分块)
传送门#include<bits/stdc++.h>#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);using namespace std;const int inf=2e18+100;const int maxn=2e5+100;signed main(){ int n,k; cin>>n>>k; int ans=0; for原创 2021-08-25 15:16:05 · 159 阅读 · 0 评论 -
Add or Multiply 1(第二类斯特林数)
Problem Description前两段和第五题相同,但你不需要阅读第五题就可以完成这个题目。你有一个数字 x 和若干个操作,每个操作是 +ai 或者乘 ×ai 中的一种。你可以重新排列这些操作的顺序,然后对数字 x 执行这些操作。比如说三个操作是 +a1,+a2,×a3。如果按顺序执行这三个操作,那么得到的结果是 ((x+a1)+a2)×a3。如果排列成 +a2,×a3,+a1,那么得到的结果是 ((x+a2)×a3)+a1。我们会发现,有一些操作顺序计算出来的结果是本质相同的,比如说+a1,原创 2021-08-23 14:25:33 · 140 阅读 · 0 评论