数学
qianyri
这个作者很懒,什么都没留下…
展开
-
快速幂/数论技巧专题
快速幂取模long long pow(long long a,int k,long long mod)//快速幂取模{ long long b=1; while(k) { if(k&1) b=b*a%mod; a=a*a%mod; k>>=1; } return b;}矩阵快速...原创 2018-09-07 19:54:38 · 192 阅读 · 0 评论 -
FFT/NTT/FWT专题
FFT可快速计算卷积,卷积为两个生成函数的乘积,生成函数为FFT 卷积 生成函数 的关系多项式 之 快速傅里叶变换(FFT)/数论变换(NTT)/例题与常用套路【入门】HDU1402 A * B Problem Plus大数乘法生成函数:,设两个大数位:、,L1/L2为两个大数的长度,利用FFT求两个函数的卷积,将所得改为十进制整数即为所求答案#include&l...原创 2018-09-08 14:24:09 · 564 阅读 · 0 评论 -
2018徐州ICPC网络赛D Easy Math 杜教筛
2018徐州ICPC网络赛D Easy Math递推题解#include<stdio.h>#include<string.h>#include<map>#include<algorithm>using namespace std;const int MAX=1e7+5;bool vis[MAX];int prim[MAX],m...原创 2018-09-12 19:31:58 · 398 阅读 · 0 评论 -
组合计数专题
原博客组合数学之一 —— 计数问题基础组合数学之二 —— 容斥原理及应用组合数学之三 —— 生成函数组合数学之四 —— 鸽巢原理组合数学之五 —— 莫比乌斯反演组合数学之六 —— 差分序列&Stirling数 ...原创 2018-09-07 20:39:25 · 1954 阅读 · 0 评论 -
2018徐州ICPC网络赛A Hard to prepare 组合数- 环的不相邻染色
2018徐州ICPC网络赛A Hard to prepare组合数学 图的不相邻染色问题个点种不同的方案,第1个点有种方案,2~n-1个点有种方案,第n个点有种方案,但该推导还少了第1个点和第n-1个点相同时第n个点有种方案的情况,因此,把第1个和第n-1个看作相同,其余n-2个点进行染色,推导方法与上述相同,可产生一个递归方程前面算的时候n已经算过次了 ,后面递归的是n剩下的...原创 2018-09-10 20:55:37 · 275 阅读 · 0 评论 -
HDU5446 Unknown Treasur Lucas+中国剩余定理
HDU5446 Unknown Treasur LucasC(n,m):n,m<1e18,且mod非质数 -----Lucas+中国剩余定理若mod为质数------------------------------Lucas因为mod值不定,所以无法预处理阶乘和逆元#include<bits/stdc++.h>using namespace std;cons...原创 2018-09-24 15:14:39 · 209 阅读 · 0 评论 -
codeforce338 D. Multipliers 费马小定理降幂
codeforces338 D. Multipliers给定组成一个数的质因子序列,求其所有因子的乘积一个质因子的贡献为化简得 由于可能为一个大数,根据费马小定理 进行降所以对所以对模但是可能很大,需要在计算过程中不断取模,因为除法不满足取模性质,所以不可以直接外提,且mod-1不是质数,2不存在逆元,考虑将模数扩大2倍消除其影响m...原创 2018-09-26 17:09:55 · 248 阅读 · 0 评论 -
codeforce895 D. String Mark 有重复元素的排列数
codeforce895 D. String Mark给定两个相同长度的字符串S1和S2,求由S1重新排列产生S3,且字典序(S1<S3<=S2)的种类数不同的题解我的题解:O(NlgN)分别统计字典序小于S2和小于S1的排列数,Ans=Ans2-Ans1-1(不能与S1相同)有重复元素的排列数:sum表示元素总数,cnt[]表示元素个数统计S1中每个字符串...原创 2018-10-17 17:52:19 · 265 阅读 · 0 评论 -
HDU6397 Character Encoding 插板法+容斥
HDU6397 Character Encoding组合计数—插板法+容斥原理给定n,m,K求 G(p) = F(p)−G(p+1),F(p)=(m,p)*(K-n*p+m-1,m-1),p表示>n的组数,根据容斥原理,G(0) 即为最终答案。#include<bits/stdc++.h>using na...原创 2018-08-16 13:24:17 · 247 阅读 · 0 评论 -
组合计数 插板法
转载插板法就是在n个元素间的(n-1)个空中插入若干个(b)个板,可以把n个元素分成(b+1)组的方法。 应用插板法必须满足三个条件: (1)这n个元素必须互不相异 (2)所分成的每一组至少分得一个元素 (3)分成的组别彼此相异把10个相同的小球放入3个不同的箱子,每个箱子至少一个,问有几种情况? 问题的题干满足 条件(1)(2),适用插板法,c92=36 下面通过几道题目介绍...原创 2018-08-16 10:55:16 · 1320 阅读 · 0 评论 -
HDU6395 Sequence 矩阵快速幂+整除分块
整除分块for(int l=1,r;l<=n;l=r+1){ r=n/(n/l); ans+=(r-l+1)*(n/l);}r=n/(n/l)是块的最后一个数l=r+1是块的第一个数r-l+1是块的长度n/l是块的值HDU6395 Sequence的约数数量在它的根号级别,相同的i都是连续的一段,对这一段用矩阵乘法转移,段数也是的根号级别的。时间...原创 2018-08-13 20:15:32 · 333 阅读 · 0 评论 -
HDU6304 Chiaki Sequence Revisited 等差数列 乘法逆元
HDU6304可参考的题解//702MS 1372K#include <bits/stdc++.h>using namespace std;const int MAX=1e5+1;const long long MOD=1e9+7;long long two[60];void read(long long &x){ x=0;char s=getc...原创 2018-07-27 16:45:40 · 175 阅读 · 0 评论 -
差分数列
https://blog.csdn.net/wu_tongtong/article/details/79115921原创 2018-08-10 14:17:22 · 1447 阅读 · 0 评论 -
POJ3233 Matrix Power Series 矩阵快速幂
POJ3233 Matrix Power Series 矩阵快速幂#include<stdio.h>#include<string.h>using namespace std;int n,m;struct Mat{ int m[61][61]; Mat(){memset(m,0,sizeof(m));} void print() ...原创 2018-08-03 13:21:10 · 165 阅读 · 0 评论 -
HDU6333 Problem B. Harvest of Apples 莫队算法+乘法逆元
HDU6333 Problem B. Harvest of Apples莫队算法 求(0,n)~(m,n)组合数之和 #include <bits/stdc++.h>using namespace std;const int MAX=1e5+5;const int BLOCK=(int)sqrt(1e5);const long long MOD=1e9+7;long...原创 2018-08-02 11:43:02 · 569 阅读 · 0 评论 -
容斥原理/莫比乌斯反演/欧拉函数/线性筛专题
欧拉函数线性筛杜教筛莫比乌斯反演容斥原理HDU2588 GCD欧拉函数给定N,M,求1<=X<=N 且gcd(X,N)>=M条件下X的个数#include<bits/stdc++.h>using namespace std;int euler(int n){ int ans=n; for(int i=2;i*i&...原创 2018-08-08 10:25:16 · 1008 阅读 · 0 评论 -
HDU3037 Saving Beans Lucas 定理+逆元
HDU3037 Saving Beans题目相当于求n个数的和不超过m的方案数。如果和恰好等于m,那么就等价于方程x1+x2+...+xn = m的解的个数,利用插板法可以得到方案数为:(m+1)x(m+2)...(m+n-1) = C(m+n-1,n-1) = C(m+n-1,m)现在就需要求不大于m的,相当于对i = 0,1...,m对C(n+i-1,i)求和,根据公式C(n...原创 2018-08-15 19:43:47 · 185 阅读 · 0 评论 -
组合数取模专题/质因分解
T^TOJ 组合数取模乘法逆元知识组合计数-插板法类型0:n,m<=1000 直接暴力预处理杨辉三角,预处理复杂度O(n*n) 公式:C(n,m)=C(n,n-m)=C(n-1,m-1)+C(n-1,m)类型1:n,m<=1e6 且模数p是质数。 O(n)预处理 阶乘fac[i]和阶乘的逆ifac即可。然后 C(n,m)=fac[n]*ifac[m]*ifac[...原创 2018-08-15 19:55:51 · 637 阅读 · 0 评论 -
乘法逆元
大数取模 /乘法逆元 int64 x当 x*x可能溢出int64时需要内部取模 (x%mod)*(x%mod)%mod当出现求解(b/a)%mod=?问题时,可以转化到求解b*x%mod=?其中x称为a关于mod的乘法逆元1.笔算求a关于mod的乘法逆元x:根据定义可知, a*x%mod=1 -> a*x=1+y*mod -> x=(mod+1)/b ...原创 2018-08-15 20:09:44 · 353 阅读 · 0 评论 -
Polya置换群计数
波利亚计数(群论)POJ2154 Color求用m种颜色给n个物品染色的方案数--旋转根据Polya定理有此题中m=n#include<bits/stdc++.h>using namespace std;int t,n,p;int euler(int n){ int ans=n; for(int i=2;i*i<=n;i++) ...原创 2018-10-24 21:02:41 · 328 阅读 · 0 评论