数学--欧拉函数&素数&组合数&排列数
长沙大学ccsu_deer
这个作者很懒,什么都没留下…
展开
-
欧拉函数--通式证明、线性筛分析、部分性质
学习参考博客来自:自为风月马前卒、DYT_B欧拉函数通式证明int phi(int n){ int ans = n; for(int i=2; i*i<=n; i++){ if(n%i==0){ ans = ans/i*(i-1); while(n%i==0)n/=i; } } if(n>1)ans = ans/n*(n-1); return ans;}线性筛//写在前面//...原创 2020-06-07 19:10:35 · 457 阅读 · 0 评论 -
月月给华华出题 (线性筛快速幂)
//补了这两个题才知道线性还可以给快速幂筛?学到了学到了链接:https://ac.nowcoder.com/acm/contest/392/D来源:牛客网月月给华华出题时间限制:C/C++ 2秒,其他语言4秒空间限制:C/C++ 131072K,其他语言262144K64bit IO Format: %lld题目描述因为月月是个信息学高手,所以她也给华华出了一题,让...原创 2019-05-31 09:47:42 · 487 阅读 · 2 评论 -
BZOJ 2818: Gcd(欧拉函数的应用)
题目来源:https://www.lydsy.com/JudgeOnline/problem.php?id=28182818: GcdTime Limit:10 SecMemory Limit:256 MBSubmit:9819Solved:4363[Submit][Status][Discuss]Description给定整数N,求1<=x,y<=...原创 2019-05-08 21:43:56 · 411 阅读 · 0 评论 -
HDU2588(欧拉函数的应用)
打开百度搜索了莫比乌斯,来自哔哩哔哩的一个视频讲的非常的好:https://www.bilibili.com/video/av14325327/不过他在讲莫比乌斯反演之前,先讲了两道欧拉函数应用的题:HDU2588 和bzoj2818 GCD Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32...原创 2019-05-08 21:23:29 · 884 阅读 · 0 评论 -
常见的5个数论函数线性筛求法
1、素数求法2、欧拉函数3、因子个数函数4、因子和函数5、莫比乌斯函数普通线性筛素数#include<stdio.h>#define max_n 10005int num[max_n]={0}int main(){ for(int i=2;i<max_n;i++){ if(num[i]==0){ num[++num[0]]=i; ...原创 2019-05-08 19:37:33 · 900 阅读 · 0 评论 -
组合数-取模 费马小定理
由于博客有些公式打不出来,下面是博客园的链接 逆元---组合数取模https://www.cnblogs.com/liziran/p/6804803.html逆元组合数取模的应用是,当数据非常大的时候,超过long long 用一般的公式 就会爆范围,所以采用逆元用C++实现的代码,输入为n,m,mod,要求0<=m<=n<=1e6(否则fac存不下...原创 2018-08-22 10:32:28 · 515 阅读 · 0 评论 -
问题 A: 组合数
唯一分解定理在此问题 A: 组合数时间限制: 1 Sec内存限制: 128 MB提交: 1938解决: 147[提交] [状态] [命题人:jsu_admin]题目描述求组合数C(N,M),以及C(N,M)因子个数。输入N和M,其中0<=M<=N<=50,以EOF结束。输出该组合数结果样例输入 Copy3 24 2...原创 2018-12-27 21:30:17 · 392 阅读 · 0 评论 -
求组合数
法一(逆元法):条件,模数为质数ll f(ll x){ ll r=1; for(int i=2;i<=x;i++)r=r*i%mod; return r;}ll getC(ll n,ll m){ return f(n)*powmod(f(n-m)*f(m)%mod,mod-2)%mod;}法二(暴力):容易超时和超ll:#include <iostre...原创 2019-03-18 20:08:59 · 496 阅读 · 0 评论 -
求排列数
int getA(int n, int r){ int ans = 1; for(int i = 0; i < r; ++i) ans *= n-i; return ans;}转载 2019-03-18 20:11:21 · 1507 阅读 · 0 评论 -
素数求法
法一:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<sstream>using namespace std;#define N 100000bool p[N];vector<int>prime;...原创 2019-03-18 20:04:53 · 323 阅读 · 0 评论 -
欧拉函数求法
法一:范围:1e9以内:int phi(int n){ int ans = n; for(int i=2; i<=sqrt(n); i++){ if(n%i==0){ ans = ans/i*(i-1); while(n%i==0)n/=i; } } if(n>1)ans = ans/n*(n-1); return ans;}法二:1e18以内...原创 2019-03-18 20:03:42 · 516 阅读 · 0 评论