数学专题
储存了一堆数学 简单/入门 题。
SC.ldxcaicai
我很菜=_=
展开
-
bzoj1853: [Scoi2010]幸运数字(容斥+dfs)
传送门搜索菜题,然而第一次没有注意然后爆longlonglong longlonglong了。题意:称所有数位由6,86,86,8组成的数为幸运数字,问一个一个区间[l,r][l,r][l,r]中所有幸运数字及其倍数的个数。思路:先把所有的幸运数字找出来并筛去那些会算重的,剩下一共不超过100010001000个数。即如果满足numi∣numjnum_i|num_jnumi∣numj...原创 2019-01-17 11:05:10 · 201 阅读 · 0 评论 -
bzoj2467: [中山市选2010]生成树(矩阵树定理)
传送门矩阵树定理模板题。题意简述:自己看题面吧太简单懒得写了直接构建出这4n4n4n个点然后按照题面连边之后跑矩阵树即可。代码:#include<bits/stdc++.h>#define ri register int#define idx(x) ((x)%n)using namespace std;const int N=505,mod=2007;int n,...原创 2019-01-02 17:23:22 · 127 阅读 · 0 评论 -
bzoj3513: [MUTC2013]idiots(fft)
传送门fftfftfft经典题。题意简述:给定nnn个长度分别为aia_iai的木棒,问随机选择3个木棒能够拼成三角形的概率。思路:考虑对于木棒构造出生成函数然后可以fftfftfft出两个木棒能够生成的边长和的生成函数 注意去重我们还可以在读入的时候顺便统计出cnticnt_icnti表示长度≤i\le i≤i的木棒有多少根。然后可以算出选出3个木棒不能拼成三角形的方案数,简单容...原创 2019-01-02 14:53:30 · 226 阅读 · 0 评论 -
poj3046 Ant Counting(生成函数+dp)
传送门生成函数基础题。题意:给出nnn个数以及它们的数量,求从所有数中选出i∣i∈[L,R]i|i\in[L,R]i∣i∈[L,R]个数来可能组成的集合的数量。直接构造生成函数然后乘起来f(x)=∏i=1n(1+x+x2+...+xtimei)f(x)=\prod_{i=1}^n(1+x+x^2+...+x^{time_i})f(x)=∏i=1n(1+x+x2+...+xtimei)然...原创 2019-01-02 13:48:28 · 181 阅读 · 0 评论 -
poj1322 Chocolate(生成函数+二项式定理)
传送门生成函数好题。题意简述:一个袋子里有ccc种不同颜色的球,现要操作nnn次,每次等概率地从袋中拿出一个球放在桌上,如果桌上有两个相同的球就立刻消去,问最后桌上剩下mmm个球的概率。第一眼反应是概率dpdpdp,怼了一波式子之后发现要TTT果断弃掉。我们考虑推答案的式子吧。由题可知,ccc种球有mmm个出现奇数次,c−mc-mc−m个出现偶数次。于是我们对每一种颜色构造生成函数(...原创 2019-01-02 12:37:40 · 459 阅读 · 0 评论 -
NOIP训练 三七二十一(生成函数)
传送门生成函数基础题。题意简述:求由1,3,5,7,9这5个数字组成的n位数个数,要求其中3和7出现的次数都要是偶数。考虑对于每个数字构造生成函数。对于1,5,9:∑nxnn!=ex\sum_n\frac{x^n}{n!}=e^x∑nn!xn=ex对于3,7:∑nx2n(2n)!=ex+e−x2\sum_n\frac{x^{2n}}{(2n)!}=\frac{e^x+e^{-x}...原创 2019-01-02 12:13:38 · 954 阅读 · 0 评论 -
bzoj5300: [Cqoi2018]九连环(fft优化高精+快速幂)
传送门题意不好描述(自己看样例解释)首先可以推出一个递推式:fn=fn−1+2fn−2+1f_n=f_{n-1}+2f_{n-2}+1fn=fn−1+2fn−2+1然后可以构造两个等式:(fn+fn−1+1)=2(fn−1+fn−2+1)(f_n+f_{n-1}+1)=2(f_{n-1}+f_{n-2}+1)(fn+fn−1+1)=2(fn−1+fn−2+1)(fn−2...原创 2019-01-02 12:08:49 · 181 阅读 · 0 评论 -
NOIP训练 偶数个5(简单数论)
传送门对于出题人zxyoizxyoizxyoi先%\%%为敬题目需要龟速乘差评。题意简述:5e55e55e5组数据,给出n,请你求出所有n位数中有偶数个5的有多少,n≤1e18n\le1e18n≤1e18思路:一眼数位dpdpdp,哎哟这nnn怎么这么大绝望.jpg既然是zxyoizxyoizxyoi大毒瘤的题自然要推一推式子了无奈.jpg考虑对每一位构造生成函数:首位:F(x)=...原创 2018-12-31 16:08:52 · 443 阅读 · 0 评论 -
bzoj3771: Triple(生成函数+fft+容斥原理)
传送门生成函数经典题。题意简述:给出nnn个数,可以从中选1/2/31/2/31/2/3个,问所有可能的和对应的方案数。思路:令A(x),B(x),C(x)A(x),B(x),C(x)A(x),B(x),C(x)表示选111个,222个,333个的生成函数,ans1(x),ans2(x),ans3(x)ans1(x),ans2(x),ans3(x)ans1(x),ans2(x),ans3...原创 2018-12-31 00:26:25 · 294 阅读 · 0 评论 -
poj3734 Blocks(生成函数)
传送门生成函数入门题。按照题意构造函数:对于限定必须是出现偶数次的颜色:1+x22!+x44!+...=ex+e−x21+\frac {x^2}{2!}+\frac {x^4}{4!}+...=\frac{e^x+e^{-x}}21+2!x2+4!x4+...=2ex+e−x对于无限定的颜色:1+x1!+x22!+...=ex1+\frac x{1!}+\frac{x^2}{2!}...原创 2018-12-30 19:44:29 · 201 阅读 · 0 评论 -
bzoj3028: 食物(生成函数)
传送门生成函数模板题。我们直接把每种食物的生成函数列出来:承德汉堡:1+x2+x4+...=11−x21+x^2+x^4+...=\frac 1{1-x^2}1+x2+x4+...=1−x21可乐:1+x=1−x21−x1+x=\frac{1-x^2}{1-x}1+x=1−x1−x2鸡腿:1+x+x2=1−x31−x1+x+x^2=\frac{1-x^3}{1-x}1+x+x2=1...原创 2018-12-30 17:38:02 · 331 阅读 · 1 评论 -
atcoder Iroha and a Grid(组合数学)
传送门组合数学好题。给你一个hhh行www列的网格,其中左下角aaa行bbb列不能走,问从左上角走到右下角有多少种走法(每次只能向右或者向下)我们考虑分步计数。我们一共能走的区域是总网格区域去掉一个左下角的,可以看成是一个b∗(h−a)b*(h-a)b∗(h−a)的矩形和一个h∗(w−b)h*(w-b)h∗(w−b)的矩形拼起来的图案。于是我们可以枚举两个矩形的交界处来统计答案。相当...原创 2018-12-20 00:03:02 · 158 阅读 · 0 评论 -
bzoj5296: [Cqoi2018]破解D-H协议(bsgs)
传送门bsgsbsgsbsgs基础题。考虑到给的是原根,因此没无解的情况。于是只需要每次把a,ba,ba,b解出来。然后可以通过预处理节省一部分时间。代码:#include<bits/stdc++.h>#include<tr1/unordered_map>#define ri register intusing namespace std;inline...原创 2018-12-18 23:48:45 · 129 阅读 · 0 评论 -
bzoj2242: [SDOI2011]计算器(数论)
传送门数论基础题。对于第一种情况用快速幂,第二种用exgcdexgcdexgcd,第三种用bsgsbsgsbsgs于是自己瞎yyyyyy了一个bsgsbsgsbsgs的板子(不知道是不是数据水了没卡如果有找出错的希望指正谢谢)下面谈谈我对这个方法的理解。实际上跟网上说的差不多。要解ax≡bmod&amp;ThinSpace;&amp;ThinSpace;pa^x\equiv b\mo...原创 2018-12-18 23:14:06 · 137 阅读 · 0 评论 -
bzoj1406 : [AHOI2007]密码箱(简单数论)
传送门简单数论暴力题。题目简述:要求求出所有满足x2≡1mod&ThinSpace;&ThinSpace;nx^2\equiv1 \mod nx2≡1modn且0≤x&lt;n0\le x&lt;n0≤x<n的xxx考虑到使用平方差公式变形。(x−1)(x+1)≡0mod&ThinSpace;&ThinSpace;n(x-1)(x+1...原创 2018-12-17 15:27:58 · 193 阅读 · 0 评论 -
ural1132 Square Root(二次剩余)
传送门MD写一道二次剩余的板题差点写自闭了。我用的是cipollacipollacipolla算法。利用的是欧拉准则来找寻一个二次非剩余类来求根。注意这题有两个等根和模数为2的情况。代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;int T,n,mod;inline int ksm...原创 2018-12-17 15:05:33 · 257 阅读 · 0 评论 -
bzoj3667: Rabin-Miller算法(Pollard-rho)
传送门Pollard−rhoPollard-rhoPollard−rho板题。题意简述:给出几个数,让你判断是不是质数,如果不是质数就求出其最大质因子,数的大小为1e181e181e18以内。先用miller−rabinmiller-rabinmiller−rabin判断是不是素数,然后上Pollard−rhoPollard-rhoPollard−rho质因数分解即可。代码:#incl...原创 2018-12-17 14:12:54 · 294 阅读 · 0 评论 -
bzoj4802: 欧拉函数(Pollard-rho)
传送门Pollard−rhoPollard-rhoPollard−rho模板题。题意简述:求ϕ(n),n≤1e18\phi(n),n\le 1e18ϕ(n),n≤1e18先把nnn用Pollard−rhoPollard-rhoPollard−rho分解质因数,然后就可以算了。代码:#include&lt;bits/stdc++.h&gt;#include&lt;tr1/unordere...原创 2018-12-17 13:41:44 · 171 阅读 · 0 评论 -
hdu2138 How many prime numbers(miller-rabbin)
传送门miller−rabbinmiller-rabbinmiller−rabbin素数测试的模板题。实际上miller−rabbinmiller-rabbinmiller−rabbin就是利用费马小定理和二次探测的性质来进行判断的。注意要多带几个素数进去判断(听大神说只要取遍了50以内的质数就可以判断intintint范围内的)代码:#include&lt;bits/stdc++.h&...原创 2018-12-17 11:21:58 · 112 阅读 · 0 评论 -
codeforces 932E. Team Work(组合数学)
传送门组合数学套路题。要求ans=∑i=0nCni∗ik,n≤1e9,k≤5000ans=\sum_{i=0}^n C_n^i*i^k,n\le 1e9,k\le 5000ans=∑i=0nCni∗ik,n≤1e9,k≤5000这道题需要用到一个组合数的公式:nk=∑i=0ns2{k,i}Anin^k=\sum_{i=0}^ns_2\{k,i\}A_n^ink=∑i=0ns2{k...原创 2018-12-14 20:31:11 · 331 阅读 · 0 评论 -
codeforces 938E. Max History(组合数学)
传送门唉最开始居然把题给看错了。其实是组合数学傻逼题呢。题意简述:给出一个数列,定义一个与数列有关的fff函数,fff函数定义如下:首先f=0,M=1f=0,M=1f=0,M=1,一直重复如下操作:在222~nnn中找到第一个比aMa_MaM大的aia_iai,然后f+=aM,M=if+=a_M,M=if+=aM,M=i求该数列n!n!n!个排列的fff函数之和。这题一看就是统...原创 2018-12-12 17:47:45 · 319 阅读 · 0 评论 -
2018.11.07 bzoj1965: [Ahoi2005]SHUFFLE 洗牌(快速幂+exgcd)
传送门发现自己的程序跑得好慢啊233.管他的反正AC了先手玩样例找了一波规律发现题目要求的就是a∗2m≡l(modn+1)a*2^m\equiv l \pmod {n+1}a∗2m≡l(modn+1)然后脑补了一波sbsbsb数学证明。假设当前牌aaa在第ppp个位置(为了方便假设在左半边,右半边的差不多)。然后在这一次洗牌之后会有2∗(p−1)+1=2∗p−12*(p-1)+1=2...原创 2018-11-07 21:46:39 · 138 阅读 · 0 评论 -
2018.11.07 bzoj2751: [HAOI2012]容易题(easy)(组合数学)
传送门组合数学一眼题。感觉一直做这种题智商会降低。利用组合数学的分步计数原理。只用关心每个数不被限制的取值的总和然后乘起来就可以了。对于大部分数都不会被限制,总和都是n(n+1)2\frac{n(n+1)}{2}2n(n+1).这部分数的贡献直接用快速幂算。剩下最多只有1e51e51e5个数。直接暴力算出每个数不被限制的取值的总和。代码:#include<bits/s...原创 2018-11-07 20:56:35 · 206 阅读 · 0 评论 -
2018.11.07 hdu1465不容易系列之一(二项式反演)
传送门其实标签只是搞笑的。没那么难。二项式反演只是杀鸡用牛刀而已。这道题也只是让你n≤20n\le20n≤20的错排数而已。还记得那个O(n)O(n)O(n)的递推式吗?没错那个方法比我今天用的要快一些。言归正传。回忆一下二项式反演的式子:fn=∑i=0n(ni)gif_n=\sum_{i=0}^n\binom{n}{i}g_ifn=∑i=0n(in)gi=>g...原创 2018-11-07 19:34:49 · 253 阅读 · 0 评论 -
2018.11.07 codeforces559C. Gerald and Giant Chess(dp+组合数学)
传送门令f[i]f[i]f[i]表示对于第iii个棋子,从(1,1)(1,1)(1,1)出发到它不经过其它棋子的方案数。于是我们假设(h,w)(h,w)(h,w)有一个棋子,求出它的fff值就可以了。然后考虑容斥转移fff数组。根据定义,我们求出从(1,1)(1,1)(1,1)出发到它的总方案数,再减去经过了其它棋子的方案数。然后再考虑如何才会补充不漏。发现从之前每一个fff转移过来就...原创 2018-11-07 08:24:38 · 153 阅读 · 0 评论 -
2018.11.02 洛谷P2312 解方程(数论)
传送门直接做肯定会TLETLETLE.于是考验乱搞能力的时候到了。我们随便选几个质数来checkcheckcheck合法解,如果一个数无论怎么checkcheckcheck都是合法的那么就有很大概率是正确答案了。事实证明这个做法是对的。因此对于某一个质数pri[i]pri[i]pri[i]我们把所有系数模一个pri[i]pri[i]pri[i]之后带入1&nbsp;pri[i−1]1~p...原创 2018-11-02 21:02:59 · 150 阅读 · 0 评论 -
2018.10.31 bzoj4737: 组合数问题(lucas定理+容斥原理+数位dp)
传送门这是一道让我重新认识lucaslucaslucas的题。考虑到lucaslucaslucas定理:(nm)≡(n%pm%p)∗(npmp)\binom n m \equiv \binom {n\%p} {m\%p}*\binom{\frac n p}{\frac m p}(mn)≡(m%pn%p)∗(pmpn) (mod(mod(mod p)p)p)所以可以看成(nm)\b...原创 2018-10-31 21:41:54 · 261 阅读 · 0 评论 -
2018.10.31 vijos1052贾老二算算术(高斯消元)
传送门高斯消元模板题。写的时候反了sbsbsb错误消元的时候除数和被除数反了。所以把板子贴上来压压惊。代码:#include&lt;bits/stdc++.h&gt;using namespace std;inline int read(){ int ans=0,w=1; char ch=getchar(); while(!isdigit(ch)){if(ch=='-')w=-...原创 2018-10-31 19:31:45 · 188 阅读 · 0 评论 -
2018.10.31 NOIP模拟 几串字符(数位dp+组合数学)
传送门如果观察到性质其实也不是很难想。然而考试的时候慌得一批只有心思写暴力233.下面是几个很有用的性质:c0,1+1≥c1,0≥c0,1c_{0,1 }+1 ≥ c_{1,0} ≥ c_{0,1}c0,1+1≥c1,0≥c0,1,因为$ 10, 01 $是交替出现的。c1,0+c0,0c_{1,0 }+c_{0,0}c1,0+c0,0是000出现的次数。c0,1+c1,1...原创 2018-10-31 19:22:08 · 149 阅读 · 0 评论 -
2018.10.31 NOIP模拟 一串数字(数论+贪心)
传送门把每一个数aaa质因数分解。假设a=p1a1∗p2a2∗...∗pkaka=p_1^{a_1}*p_2^{a_2}*...*p_k^{a_k}a=p1a1∗p2a2∗...∗pkak然后可以转化成a′=p1a1mod3∗p2a2mod3∗...∗pkakmod3a&amp;#x27;=p_1^{a_1mod3}*p_2^{a_2mod3}*...*p_k^{a_kmod3}...原创 2018-10-31 19:16:26 · 138 阅读 · 0 评论 -
2018.10.26 bzoj2721: [Violet 5]樱花(数论)
传送门推一波式子:1x+1y=1n!\frac 1 x+\frac 1 y=\frac 1 {n!}x1+y1=n!1=>xy−x∗n!−y∗n!xy-x*n!-y*n!xy−x∗n!−y∗n! = 000=>(x−n!)(y−n!)=(n!)2(x-n!)(y-n!)=(n!)^2(x−n!)(y−n!)=(n!)2于是把(n!)2(n!)^2(n!)2质因数分解就行...原创 2018-10-26 21:56:49 · 180 阅读 · 0 评论 -
2018.10.26 poj3421X-factor Chains(数论+排列组合)
传送门排列组合入门题。令X=p1a1p2a2..pkakX=p_1^{a_1}p_2^{a_2}..p_k^{a_k}X=p1a1p2a2..pkak那么答案1就等于∑i=1kai\sum_{i=1}^ka_i∑i=1kai答案2等于(∑i=1kai)!∏i=1ka[i]!\frac {(\sum_{i=1}^ka_i)!} {\prod_{i=1}^ka[i]!}∏i=...原创 2018-10-26 20:23:47 · 143 阅读 · 0 评论 -
2018.10.25 bzo1227: [SDOI2009]虔诚的墓主人(组合数学+扫描线+bit)
传送门有点难调啊。其实是我自己sb了不过交上去1A1A1A还是平衡了一下心态。所以这道题怎么做呢?我们考虑对于一个点(x,y)(x,y)(x,y)如果这个点成为中心,正左/右/上/下分别有l/r/u/d/l/r/u/d/l/r/u/d/棵树,那么对于这个点Ans=(lk)∗(rk)∗(uk)∗(dk)Ans=\binom {l} {k}*\binom {r} {k}*\binom {u} ...原创 2018-10-25 21:52:54 · 128 阅读 · 0 评论 -
2018.10.25 bzoj4517: [Sdoi2016]排列计数(组合数学)
传送门组合数学简单题。Ans=(nm)∗1Ans=\binom {n} {m}*1Ans=(mn)∗1~(n−m)(n-m)(n−m)的错排数。前面的直接线性筛逆元求。后面的错排数递推式本蒟蒻竟然推出来了。首先说说为什么Ans=(nm)∗1Ans=\binom {n} {m}*1Ans=(mn)∗1~nnn-mmm的错排数。考虑首先选出mmm个排列正确的数有(nm)\binom ...原创 2018-10-25 18:45:35 · 213 阅读 · 0 评论 -
2018.10.25 uoj#308. 【UNR #2】UOJ拯救计划(排列组合)
传送门有一个显然的式子:Ans=∑A(n,i)∗用i种颜色的方案数Ans=\sum A(n,i)*用i种颜色的方案数Ans=∑A(n,i)∗用i种颜色的方案数这个东西貌似是个NPCNPCNPC。于是需要仔细观察数据范围。咦模数等于666?那么对于A(n,i)A(n,i)A(n,i)在i≥3i\geq 3i≥3的时候模666都是000了。因此只用讨论i=1i=1i=1和i=2i=2i=2...原创 2018-10-25 15:53:03 · 209 阅读 · 0 评论 -
2018.10.24 NOIP模拟 小 C 的序列(链表+数论)
传送门考虑到a[l],gcd(a[l],a[l+1]),gcd(a[l],a[l+1],a[l+2])....gcd(a[l]...a[r])a[l],gcd(a[l],a[l+1]),gcd(a[l],a[l+1],a[l+2])....gcd(a[l]...a[r])a[l],gcd(a[l],a[l+1]),gcd(a[l],a[l+1],a[l+2])....gcd(a[l]...a[r...原创 2018-10-24 20:12:36 · 218 阅读 · 0 评论 -
2018.10.23 NOIP训练 Leo的组合数问题(组合数学+莫队)
传送门好题。考察了莫队和组合数学两个知识板块。首先需要推出单次已知n,mn,mn,m的答案的式子。我们令f[i]f[i]f[i]表示当前最大值为第iii个数的方案数。显然iii之后的数都是单调递减且连续的。所以后面的方法是1种。考虑第111~i−1i-1i−1个位置。显然放法数为∑j=1i−1f[j]\sum _{j=1} ^{i-1}f[j]∑j=1i−1f[j]又因为f[...原创 2018-10-23 21:52:39 · 183 阅读 · 0 评论 -
2018.10.19 NOIP训练 yk赚钱记(01分数规划)
传送门其实是一个裸的最优比率生成树。注意精度的控制就行了。代码原创 2018-10-19 07:50:19 · 216 阅读 · 0 评论 -
2018.10.18 NOIP训练 01矩阵(组合数学)
传送门组合数学好题。题目要求输出的结果成功把概率转化成了种类数。本来可以枚举统计最小值为iii时的概率。现在只需要统计最小值为iii时的方案数,每一行有不少于iii个1的方案数。显然一行选i个1的方案数为(mi)∗xm−i∗yi\binom {m} {i}*x^{m-i}*y^{i}(im)∗xm−i∗yi于是对于每一行分开考虑最后用快速幂合并就行了。代码:#include&l...原创 2018-10-18 23:34:24 · 172 阅读 · 0 评论 -
2018.10.16 NOIP模拟 膜法(组合数学)
传送门原题,原题,全TM原题。不得不说天天考原题。其实这题我上个月做过类似的啊,加上dzyodzyodzyo之前有讲过考试直接切了。要求的其实就是∑i=lr(ii−l+k)\sum _{i=l} ^{r} \binom {i} {i-l+k}∑i=lr(i−l+ki)转化一下。由于(ii−l+k)=(il−k)\binom {i} {i-l+k}=\binom {i} {l-k}(...原创 2018-10-16 14:15:42 · 429 阅读 · 0 评论