随笔分类 -  FFT相关

FFT相关
摘要:\(n^m=e^{nx}[x^m] \times m!\),这么做的好处是指数固定。 \(=\sum_{i=0}^n e^{ix} [x^m] \times m!\) \(=\frac{e^{(n+1)x} - 1}{e^x-1} [x^m] \times m!\) 上下同除一个$x$先,多项式求逆 阅读全文
posted @ 2020-07-29 20:24 Cold_Chair 阅读(200) 评论(0) 推荐(0)
摘要:题目大意: 一个序列$a[1..n](1 \le n \le N)$,满足: \(a[i] \in [1,m]\) $a[i]<a[i+1]\(的对数\)=k$ 求方案数。 \(N,(N-k+1)*m \le 2^{20}\) 题解: 考虑容斥,恰好$i$个小于,变为至少$i$个小于,其它地方任意, 阅读全文
posted @ 2020-07-21 21:09 Cold_Chair 阅读(411) 评论(0) 推荐(0)
摘要:https://loj.ac/problem/6622 求最大是假的,其实是求方案数。 每一位独立,每一位做不同的FWT后变点积,直接跑矩阵树即可。 矩阵树模一个质数,最好别取常见质数。 Code: #include<bits/stdc++.h> #define fo(i, x, y) for(in 阅读全文
posted @ 2020-06-10 22:14 Cold_Chair 阅读(352) 评论(0) 推荐(0)
摘要:https://loj.ac/problem/2027 https://loj.ac/submission/831930 https://loj.ac/problem/2091 https://loj.ac/submission/831907 对于T1,发现是要每个颜色恰好选一个。 对于T2,发现是 阅读全文
posted @ 2020-06-10 21:15 Cold_Chair 阅读(200) 评论(0) 推荐(0)
摘要:Description: 幽幽子饿了,妖梦需要给幽幽子准备食物。 有 T 天,每天幽幽子划分成了 k 个时段,妖梦需要安排每一天的日程。 第 i 天妖梦准备了 D+i-1 道菜,每道菜有无数个。第 1 个时段是早餐,幽幽子会选择 L 道不同的菜吃。 接下来 k-1 个时段,每个时段可以选择 D+i- 阅读全文
posted @ 2020-06-05 19:42 Cold_Chair 阅读(380) 评论(0) 推荐(0)
摘要:https://loj.ac/problem/3219 题解: \(F[n+m]=F[n]*F[m]+F[n-1]*F[m-1]\) \(F[n]*F[m]=F[n+m]-(F[n-1]*F[m-1])\) \(...\) \(F[n]*F[m]=F[n+m]-F[n+m-2]+F[n+m-4]…+ 阅读全文
posted @ 2020-06-04 19:26 Cold_Chair 阅读(693) 评论(0) 推荐(0)
摘要:Description: https://gmoj.net/senior/#main/show/6676 题解: 考虑用第二类斯特林数把$i^k$搞掉: \(Ans=2^n*f(0)(这一项提出来好,后面不写了)+\sum_{k=1}^m f(k)*\sum_{i=0}^n\binom{n}{i}* 阅读全文
posted @ 2020-06-01 21:30 Cold_Chair 阅读(390) 评论(0) 推荐(0)
摘要:Description: https://gmoj.net/senior/ main/show/6639 题解: 考虑$n!$怎么算,经典做法: 设$v=\sqrt n$,当$n~mod~v\neq 0$时就$n $,最后加上这个的贡献就好了。 每一块可以看做$\prod {i=1}^v (x+i) 阅读全文
posted @ 2020-05-21 19:09 Cold_Chair 阅读(267) 评论(0) 推荐(0)
摘要:http://codeforces.com/contest/960/problem/G 考虑枚举最高点所在的位置,则分成了左右两段,要求左边a个上升,右边b个上升。 这个其实是第一类斯特林数,证明考虑转移是一样的,或者按照划分分组,每一组的方案数恰好是圆排列的方案数。 那么问题在于求$S[...][ 阅读全文
posted @ 2020-04-27 11:32 Cold_Chair 阅读(156) 评论(0) 推荐(0)
摘要:https://loj.ac/problem/6436 ​ 记得一年多前hzj讲这题时不太会的,现在已经能很容易切掉了。 ​ 考虑border的性质,若有一个长度为$i$的border,则$\forall x\in[1,i],s[x]=s[x+(n i)]$。 ​ 设$g[i]=f[n i]$ ​ 阅读全文
posted @ 2020-04-02 21:06 Cold_Chair 阅读(247) 评论(0) 推荐(0)
摘要:https://loj.ac/problem/2541 很有意思的一道题目。 直接去算这题话,因为分母会变,你会发现不管怎么样都要枚举顺序。 考虑把题目转换,变成分母不会变的,即对于一个已经删过的,我们不把它从分母中剔除,但是,每一次的选择需要一直选直到选了一个没有被删过的。 然后再考虑怎么计算,这 阅读全文
posted @ 2020-04-02 15:27 Cold_Chair 阅读(190) 评论(0) 推荐(0)
摘要:https://loj.ac/problem/2473 求恰好第k大的权值显然不可做,差分一下,转换成: 枚举$W$,求第k大$ =W$的方案数,发现对所有这样的$W$的方案数加起来就是答案。 这样就相当于权值$ =W$选了有1的贡献,权值$=k$的方案数。 ​ 显然这个可以用暴力树形依赖背包在$O 阅读全文
posted @ 2020-03-30 10:42 Cold_Chair 阅读(197) 评论(0) 推荐(0)
摘要:https://codeforces.com/problemset/problem/1326/F2 直接做已经不太能怎么优化了。 考虑容斥,设$f[S]$,S上的第$i$位$=1$表示$s[p[i+1]][p[i+2]]=1$,$=0$表示$s[p[i+1]][p[i+2]]=0/1$,的方案数。 阅读全文
posted @ 2020-03-20 21:12 Cold_Chair 阅读(347) 评论(0) 推荐(0)
摘要:题目大意: $1 \le l \le n \le 10^5$ 题解: 写完之后觉得我死了,这应该是我做过的最复杂的分治NTT。 设$p[i]$表示第$i$个点概率,为了表达方便,先把$p[i]$ reverse一下。 设$P(i)=p[i]·x+1 p[i]$ 考虑设$f[i]$表示从第$i$个点出 阅读全文
posted @ 2020-03-12 23:04 Cold_Chair 阅读(354) 评论(0) 推荐(2)
摘要:https://ac.nowcoder.com/acm/contest/3782/G 题解: 分治FWT裸题。 每个都相当于$(1+b[i]x^{a[i]})$,求这玩意的异或卷积。 先把a[i]相同的并在一起。 考虑分治,一个区间内的数的二进制的前若干位是相同的,所以只需要记录这个区间的数选了奇数 阅读全文
posted @ 2020-02-27 21:29 Cold_Chair 阅读(570) 评论(0) 推荐(0)
摘要:小 ω 正在玩一个游戏。 小 ω 有一个 n 行 m 列的网格,初始每个方格中都有数字 0。她需要执行 q 次操作,每次操作可以选择其中一个方格 (x, y),然后先将第 x 行的数全部 +1,接着将第 y 列的数全部 +1。 小 ω 想知道有多少种执行操作的方式能使最后的网格中有不超过 k 个奇数 阅读全文
posted @ 2020-01-17 20:19 Cold_Chair 阅读(489) 评论(0) 推荐(2)
摘要:传送门: "淳平的形态形成场" 题解: 把a排序后,直接统计答案恰好为a[i]并不好做,可以统计答案 a[i]的方案数,设为$f[i]$。 即不存在一个联通块,所有的权值都 define fo(i, x, y) for(int i = x, B = y; i = B; i ) define ll l 阅读全文
posted @ 2019-10-21 21:30 Cold_Chair 阅读(341) 评论(0) 推荐(0)
摘要:"传送门." 题解: 考虑若最后的总伤害数是s,那么就挡板分配一下,方案数是$C_{s 1}^{n 1}$。 那么问题在于总伤害数很大,不能一个一个的算。 $C_{s 1}^{n 1}$的OGF是${x^{n 1}\over (1 x)^n}$ 由$F=FA+R F={R \over 1 A}$ 得 阅读全文
posted @ 2019-09-25 21:45 Cold_Chair 阅读(219) 评论(0) 推荐(0)
摘要:"传送门." 题解: 4月YY集训时做过DAG计数,和这个基本上是一样的,但是当时好像直接暴力子集卷积,不然我省选时不至于不会,这个就多了个边不选的概率和子集卷积。 DAG计数是个套路来的,利用的是DAG中入度为0的点。 设$f[S]$表示只考虑s里的点的诱导子图形成DAG的方案数。 枚举一个$T| 阅读全文
posted @ 2019-09-23 22:12 Cold_Chair 阅读(233) 评论(0) 推荐(0)
摘要:"传送门." 不妨设$A(x)$表示答案。 对于一个点,考虑它的三个子节点,直接卷起来是$A(x)^3$,但是这样肯定会计重,因为我们要的是无序的子节点。 那么用burnside引理,枚举一个排列,一个环的选择要相同,如果环的大小是y,则对应$A(x^y)$。 最后可以得到: $A(x)=x{A(x 阅读全文
posted @ 2019-08-14 10:36 Cold_Chair 阅读(814) 评论(0) 推荐(1)