题解-CTS2019 珍珠】的更多相关文章

题面 CTS2019 珍珠 有 \(n\) 个在 \([1,d]\) 内的整数,求使可以拿出 \(2m\) 个整数凑成 \(m\) 个相等的整数对的方案数. 数据范围:\(0\le m\le 10^9\),\(1\le n\le 10^9\),\(1\le d\le 10^5\). 蒟蒻语 非常巧妙的题,主要要用到二项式反演.指数级生成函数和 NTT. 做个广告,这是我读过最好的生成函数讲解:link. 蒟蒻解 设 \(c_i\) 表示 \(i\) 这个数的出现次数. 设 \(odd=\sum…
[题解]CTS2019珍珠 题目就是要满足这样一个条件\(c_i\)代表出现次数 \[ \sum {[\dfrac {c_i } 2]} \ge 2m \] 显然\(\sum c_i=n\)所以,而且假如\(c_i\)是\(2\)的约数就有正常的贡献,如果不是就有少一点的贡献,那么 \[ \sum^D_{i=1} {[2\mid c_i]} > n-2m \] 设\(f_i\)为钦定有\(i\)种颜色出现偶数次的方案.问题瞬间就变成了HAOI染色... 则有 \[ f_i={D\choose i…
[CTS2019]珍珠 考虑实际上,统计多少种染色方案,使得出现次数为奇数的颜色数<=n-2*m 其实看起来很像生成函数了 n很大?感觉生成函数会比较整齐,考虑生成函数能否把n放到数值的位置,而不是维度 有标号,EGF,发现奇偶性有关,其实就是e^x+-e^(-x)这种.(确实很整齐) 所以可以带着e^x化简 如果枚举奇数颜色数,再用两个EGF卷积搞来搞去,很麻烦 memset0 还要转化为路径?(可能上下阶乘很多吧...),这谁想得到 上面的方法之所以麻烦,是因为二项式展开之后存在三个sigm…
蒟蒻语 这题太玄学了,蒟蒻写篇题解来让之后复习 = = 蒟蒻解 假设第 \(i\) 个颜色有 \(cnt_i\) 个珍珠. \(\sum\limits_{i=1}^{n} \left\lfloor\frac{cnt_i}{2}\right\rfloor \ge m\) \(\sum\limits_{i=1}^{n} cnt_i - cnt_i \mod 2 \ge 2m\) \(n - \sum\limits_{i=1}^{n} cnt_i \mod 2 \ge 2m\) \(\sum\limi…
显然相当于求有不超过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),答案显然为…
传送门 题目大意:给出一个长度为\(n\)的序列\(a_i\),序列中每一个数可以取\(1\)到\(D\)中的所有数.问共有多少个序列满足:设\(p_i\)表示第\(i\)个数在序列中出现的次数,\(\sum\limits_{i=1}^D \lfloor \frac{p_i}{2} \rfloor \geq m\).\(D \leq 10^5 , 0 \leq m \leq n \leq 10^9\) 在有生之年切掉laofu的多项式题,全场唯一一个写多项式求逆的,其他人都直接卷积,然后发现自己…
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(…
Problem \(\mathtt {loj-3124}\) 题意概要:给定 \(n\) 个点,\(w_i\) 分别有 \(p_{i,1},p_{i,2},p_{i,3}\) 的概率取 \(1,2,3\). 在确定了所有的 \(w_i\) 后再开始游戏:不断抽点,点 \(i\) 被抽中的概率为 \(\frac {w_i}{\sum_{j=1}^nw_j}\),直到所有点都被抽中过. 给定 \(n-1\) 个二元组 \((u,v)\) 表示第一次抽中 \(u\) 的时间需要比第一次抽中 \(v\)…
problem \(\mathtt {loj-3119}\) 题意概要:一个 \(n\times m\times l\) 的立方体,立方体中每个格子上都有一个数,如果某个格子上的数比三维坐标中至少有一维相同的其他格子上的数都要大的话,我们就称它是极大的.将 \(n\times m\times l\) 的排列随机填入这些格子,求恰有 \(k\) 个极大的数的概率.\(T\) 组数据. \(T\le 10,\ 1\le n,m,l\le 5\times 10^6,\ 1\le k \le 100\)…
这题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次. 当然还是水平低啊不会正解.…