摘要: Description: $nj的方案数$之和坐标差有关,那就可以分治NTT了。 还可以优化,设$f f的转移多项式是A,f g是B,g f是C$ 则有 $F=A F A G C$ $G=B G A F B$ 最后答案就是$G[m]$ 消元可得: $G={B \over (1+A)^2 BC}$ 所 阅读全文
posted @ 2019-07-12 22:35 Cold_Chair 阅读(265) 评论(2) 推荐(0) 编辑
摘要: 传送门: http://codeforces.com/problemset/problem/848/E 题解: 假设0 n一定有一条边,我们得到了一个方案,那么显然是可以旋转得到其他方案的。 记最大的i满足i到i+n有一条边,那么旋转的方案数是n i 考虑动态规划: 设$g[i]$表示i个点,只用相 阅读全文
posted @ 2019-07-10 19:22 Cold_Chair 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 传送门: http://codeforces.com/problemset/problem/398/E 题解: 首先答案不超过2。 最长环=1时,ans=0 最长环=2时,ans=1 否则,ans=2 考虑有长度大于2的环时如何两步出解。 那么第一步肯定是把大环拆成若干长度不超过2的环。 不妨确定一 阅读全文
posted @ 2019-07-06 16:13 Cold_Chair 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 传送门: http://codeforces.com/problemset/problem/838/C 题解: 如果一个字符串的排列数是偶数,则先手必胜,因为如果下一层有后手必赢态,直接转移过去,不然,就一直耗着,因为是偶数,所以会让后手进入下一层,则后手必输。 排列数是偶数,打表发现$|s|$是奇 阅读全文
posted @ 2019-07-06 07:30 Cold_Chair 阅读(800) 评论(0) 推荐(0) 编辑
摘要: Description: 题解: 这种东西肯定是burnside引理: $\sum置换后不动点数 \over |置换数|$ 一般来说,是枚举置换$i$,则$对所有x,满足a[x+i]=a[i]$,然后a还要满足题目条件,但是仔细想一想,设$d=gcd(i,n)$,只要a[0..d 1]满足就好了,所 阅读全文
posted @ 2019-07-04 22:39 Cold_Chair 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 这是个毒瘤题才有的毒瘤东西……奶一口NOI不考 拆系数FFT: 考虑做NTT时模数不是NTT模数($2^a b+1$)怎么办? 很容易想到拆次数FFT。 比如说现在求$a b$,设$m=\sqrt mo(2^{15})$ 那么把$a[i]$拆成$a0[i]+a1[i] m$,b[i]拆成$b0[i] 阅读全文
posted @ 2019-07-03 22:05 Cold_Chair 阅读(410) 评论(1) 推荐(0) 编辑
摘要: 题目大意: 每一轮有pl的概率得到正面的牌,pd的概率得到负面的牌,1 pl pd的概率得到无属性牌。 每一轮过后,都有p的概率结束游戏,1 p的概率开始下一轮。 问期望有多少轮后正面的牌数严格大于负面的牌数。 题解: 设$f[i]$表示期望有$f[i]$轮后含有$i$张有属性牌。 $g[i]$在i 阅读全文
posted @ 2019-07-03 20:50 Cold_Chair 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 给一个$n n$的矩阵,对于所有排列p,记录$a[i][p[i]]$的k进制下不进位加法的结果,问所有被记录过的数。 $n define fo(i, x, y) for(int i = x, B = y; i = B; i ) define ll long long define pp 阅读全文
posted @ 2019-07-03 20:17 Cold_Chair 阅读(430) 评论(1) 推荐(0) 编辑
摘要: Description: $1=0}x^i)^n=\sum_{i =0}C_{i+n 1}^{n 1}$ 那么问题就变为了求: $\prod_{i=1}^{n}{1 x^i}$的前k项。 考虑利用整数划分dp,相当于把k划分成若干不同且=0}( 1)^ix^i$ $=\sum_{i =1}{( 1) 阅读全文
posted @ 2019-07-02 19:59 Cold_Chair 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 指针优化并没有什么卵用,反而增大了代码的不可读性。 除了本来的循环顺序优化寻址,在预处理单位复数根时,可以连续存储,以增快寻址速度,细节见代码。 代码给出的是FFT,NTT是一样的。 c include define fo(i, x, y) for(int i = x, B = y; i = B; 阅读全文
posted @ 2019-07-02 19:36 Cold_Chair 阅读(356) 评论(0) 推荐(0) 编辑