首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
[LOJ#3120][Luogu5401][CTS2019]珍珠(容斥+生成函数)
】的更多相关文章
[LOJ#3120][Luogu5401][CTS2019]珍珠(容斥+生成函数)
https://www.luogu.org/blog/user50971/solution-p5401 #include<cstdio> #include<algorithm> #define rep(i,l,r) for (int i=(l); i<=(r); i++) using namespace std; ,mod=,i2=; int D,n,m,ans,fac[N],inv[N],ip2[N],f[N],g[N],rev[N],a[N],b[N]; int ksm(…
LOJ3120. 「CTS2019」珍珠 [容斥,生成函数]
传送门 思路 非常显然,就是要统计有多少种方式使得奇数的个数不超过\(n-2m\).(考场上这个都没想到真是身败名裂了--) 考虑直接减去钦点\(n-2m+1\)个奇数之后的方案数,但显然这样会算重,所以考虑容斥. 设\(f_k\)表示至少有\(k\)个为奇数的方案数. 那么有 \[ \begin{align*} f_k&={D\choose k}{n!}[x^n](\frac{e^x-e^{-x}}{2})^k e^{(D-k)x}\\ &={D\choose k}\frac{1}{2^…
Luogu5401 CTS2019珍珠(生成函数+容斥原理+NTT)
显然相当于求有不超过n-2m种颜色出现奇数次的方案数.由于相当于是对各种颜色选定出现次数后有序排列,可以考虑EGF. 容易构造出EGF(ex-e-x)/2=Σx2k+1/(2k+1)!,即表示该颜色只能选奇数个.同理有EGF(ex+e-x)/2=Σx2k/(2k)!,即表示该颜色只能选偶数个. 考虑暴力枚举有多少种颜色出现了奇数次.不妨设恰有i种颜色出现了奇数次的方案数为f(i),那么f(i)=n!·C(D,i)·[xn](((ex-e-x)/2)i·((ex+e-x)/2)D-i),答案显然为…
bzoj3771: Triple(容斥+生成函数+FFT)
传送门 咳咳忘了容斥了-- 设\(A(x)\)为斧头的生成函数,其中第\(x^i\)项的系数为价值为\(i\)的斧头个数,那么\(A(x)+A^2(x)+A^3(x)\)就是答案(于是信心满满的打了一发连样例都没过) 如果按上面那样算的话,会有重复的,比如说\(A^2(x)\),会产生诸如\((x_i,x_i)\)之类的同一把斧头的贡献,所以定义\(B(x)\)为同一个斧头重复两次的方案数,那么\(A^2(x)-B(x)\)就是两把斧头时真正的贡献,又因为与顺序无关,所以还要除以\(2\) 然后…
【洛谷5644】[PKUWC2018] 猎人杀(容斥+生成函数+分治NTT)
点此看题面 大致题意: 有\(n\)个人相互开枪,每个人有一个仇恨度\(a_i\),每个人死后会开枪再打死另一个还活着的人,且第一枪由你打响.设当前剩余人仇恨度总和为\(k\),则每个人被打中的概率为\(\frac {a_i}k\).求第\(1\)个人最后被打死的概率. 一个重要性质 对于这题,首先我们可以发现,由于一个人死后,其他人被打中概率的分母会受到影响,产生了后效性,似乎很不可维护. 因此我们需要知道一个重要性质:设\(tot=\sum_{i=1}^na_i\),则题意可以转化为,每个人…
5.15 省选模拟赛 容斥 生成函数 dp
LINK:5.15 T2 个人感觉生成函数更无脑 容斥也好推的样子. 容易想到每次放数和数字的集合无关 所以得到一个dp f[i][j]表示前i个数字 逆序对为j的方案数. 容易得到转移 使用前缀和优化即可. 进一步的可以设出其生成函数 对于第i次放数字 生成函数为\(F(x)=1+x^1+x^2+...x^{n-i}\) 那么容易得到答案的生成函数为 \(G(x)=\frac{\Pi_{i=1}^{n}(1-x^i)}{(1-x)^n}\) 化简一下 然后dp出来方案数即可 可以发现这个dp是…
[CTS2019]珍珠(NTT+生成函数+组合计数+容斥)
这题72分做法挺显然的(也是我VP的分): 对于n,D<=5000的数据,可以记录f[i][j]表示到第i次随机有j个数字未匹配的方案,直接O(nD)的DP转移即可. 对于D<=300的数据,根据转移系数建立矩阵,跑一遍矩阵快速幂,复杂度O(D3logn),不过要注意卡常数,因为是稀疏矩阵可以判掉无用状态. 对于m较小数据,m=0快速幂,m=1为Dn-A(n,D),m=2暴力讨论一下有没有出现>=1次的值,如果有,唯一出现>=1次的值是出现2次还是3次. 当然还是水平低啊不会正解.…
@loj - 3120@ 「CTS2019 | CTSC2019」珍珠
目录 @description@ @solution@ @accepted code@ @details@ @description@ 有 \(n\) 个在范围 \([1, D]\) 内的整数均匀随机变量. 求至少能选出 \(m\) 个瓶子,使得存在一种方案,选择一些变量,并把选出来的每一个变量放到一个瓶子中,满足每个瓶子都恰好装两个值相同的变量的概率. 请输出概率乘上 \(D^n\) 后对 \(998244353\) 取模的值. 原题传送门. @solution@ 记 \(l = \min\{…
[JSOI2019]神经网络(树形DP+容斥+生成函数)
首先可以把题目转化一下:把树拆成若干条链,每条链的颜色为其所在的树的颜色,然后排放所有的链成环,求使得相邻位置颜色不同的排列方案数. 然后本题分为两个部分:将一棵树分为1~n条不相交的链的方案数:将这些链安排顺序使得不存在两条相邻的链来自同一棵树. 第一部分显然可以O(n2)树形DP,f[i][j][0/1/2]表示i及其子树j条链,i向儿子连出0/1/2条边的方案数,然后直接背包DP即可.看似O(n3)的树形背包DP其实是O(n2)的.证明复杂度:其实DP时只循环到sz[u]/sz[v]即可,…
LOJ 3120: 洛谷 P5401: 「CTS2019 | CTSC2019」珍珠
题目传送门:LOJ #3120. 题意简述: 称一个长度为 \(n\),元素取值为 \([1,D]\) 的整数序列是合法的,当且仅当其中能够选出至少 \(m\) 对相同元素(不能重复选出元素). 问合法序列个数. 题解: 设颜色为 \(c\) 的珍珠的个数为 \(\mathrm{cnt}_c\),则一个方案合法当且仅当: \[\begin{aligned}\sum_{c=1}^{D}\left\lfloor\frac{\mathrm{cnt}_c}{2}\right\rfloor&\ge m\\…