
简单数论
很简单的数论
四月不知秋
一个没有对象的野指针qaq
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
FFT【模板】
#include<bits/stdc++.h>using namespace std;using ll=long long;const int maxn=(1<<20)+5;const double PI=acos(-1);struct Complex{ double x,y; Complex operator+(const Complex &o) const{return{x+o.x,y+o.y};} Complex operator原创 2021-08-31 21:03:10 · 97 阅读 · 0 评论 -
【莫比乌斯反演】
A.洛谷P2522 [HAOI2011]Problem b#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=50000+5;int mu[maxn],prime[maxn],cnt,vis[maxn],n,m,f[maxn],k,a,b,c,d;void init(){//线性筛莫比乌斯函数 f[1]=mu[1]=1; for(int i=2;i<=maxn;i++原创 2021-07-20 18:32:29 · 228 阅读 · 1 评论 -
数论模板啊
求单个phi(很大)inline int getphi(int x){ int res=x; for(int i=2;i*i<=x;i++){ if(x%i==0){ res=res/i*(i-1); while(x%i==0) x/=i; } } if(x>1) res=res/x*(x-1); return res;}求一群phi很小void get_phi()原创 2021-07-14 15:21:01 · 104 阅读 · 0 评论 -
UVA11440 帮帮Tomisu Help Tomisu(欧拉函数)
UVA11440 帮帮Tomisu Help Tomisu(欧拉函数)题目:请求出在2到N!之间有多少个整数x,满足其质因子都大于M思路:1."质因子都大于M"等价于 和M!互质2.gcd(a,b)=gcd(amod b,b)gcd(a,b)=gcd(a \mod b,b)gcd(a,b)=gcd(amodb,b)ans=phi(M!)∗N!/M!ans=phi(M!)*N!/M!ans=phi(M!)∗N!/M!令phifac(n)=phi(n!)phifac(n)=phi(n!)ph原创 2021-04-20 16:06:28 · 140 阅读 · 0 评论 -
UVA10213 多少块土地 How Many Pieces of Land ?(数论 + 欧拉公式)
UVA10213 多少块土地 How Many Pieces of Land ?(数论 + 欧拉公式)题意:有一块椭圆形的地。在边界上选n(0≤n<231)n(0 ≤ n < 2^{31} )n(0≤n<231)个点并两两连接得到n(n−1)2\frac{n(n - 1)}{2}2n(n−1) 条线段思路:欧拉公式:在平面中 V−E+F=2V-E+F=2V−E+F=2,其中V是顶点数,E是边数,F是面数。结论:n!(n−4)!4!+n!(n−2)!2!+1\frac{n!}{原创 2021-04-19 21:35:24 · 130 阅读 · 0 评论 -
莫比乌斯 + 杜教筛 + 欧拉函数
原创 2021-03-23 20:50:19 · 165 阅读 · 0 评论 -
组合数学
组合数学:隔板法例题:牛客比武招亲(上)#include <bits/stdc++.h>using namespace std;typedef long long ll;const long long mod=998244353; const int maxn=1e6+5;ll fac[maxn],finv[maxn],inv[maxn]; ll ksm(ll a, ll b) //快速幂{ ll ans=1%mod; for(;b;b>>=1原创 2021-03-01 20:30:33 · 91 阅读 · 0 评论 -
费马小定理应用
费马小定理:假如p是质数,且gcd(a,p)=1,那么 a^(p-1)≡1(mod p)。即:假如a是整数,p是质数,且a,p互质(即两者只有一个公约数1),那么a的(p-1)次方除以p的余数恒等于1。逆元:对于a和p,若a*b%p≡1,则称b为a%p的逆元。应用1:求(a/b)%p一般情况下,p均为质数。则由费马小定理得:b^(p-1)%p=1 则:b* b^(p-2)%p=1 两边同乘a/b,然后左右式交换得:a/b=a/b* b* b^(p-2)%p 化简得:a/b=a*b^(p-2)原创 2021-01-27 11:34:23 · 1100 阅读 · 0 评论 -
二分大法
洛谷1月月赛A.「EZEC-5」魔法(签到题)题意:(自己看)思路:要使区间和最大,显然是先操作加法,然后操作乘法,且每次操作肯定直接操作整个区间即可。直接暴力枚举乘法次数,log的复杂度,然后加法满足二分又一个log的复杂度,check用求最大子段和O(n)复杂度为nlog2nnlog^2 nnlog2n小结:有两种操作方法时,可以枚举一个,另一个二分枚举,求满足题意的最值一个没用的 小知识: 两个long long相乘时,可用__int128 定义他们#include<bits/原创 2021-01-24 00:28:49 · 192 阅读 · 0 评论 -
简单数论啊
简单数论判断1/n是否是无限循环小数思路:n的因子全为2和5是有限,否则为无限原创 2021-01-21 17:06:49 · 173 阅读 · 0 评论