「考试」省选26

T1
dp+多项式。(喜欢的类型)
(dp[i][j])已经插入了(i)个区间,当前的序列长度为(j)的方案。
目标:(dp[m][n])
初始化:(dp[0][0]=1)
转移:

[dp[i][j]= egin{cases} dp[i-1][j]+sumlimits_{k=0}^{j-1}dp[i-1][k](k+1)&i ot =m\ sumlimits_{k=0}^{j-1}dp[i-1][k](k+1)&i=m\ end{cases} ]

直接考虑对于(dp[m][n])来说(dp[0][0])的贡献。
设经过的序列长度为(i)
(A_1+1,A_2+1,A_3+1....A_i+1)
贡献就是这个序列的乘积乘上(inom{m-1}{i-1})
就是考虑爆搜的过程中哪一步走(dp[i-1][j])的转移贡献。
已经限定最后一次也就是第(m)次,它必然是第二种转移,所以组合数是(m-1)(i-1)
这样的话非序列部分贡献确定了。
求序列部分的贡献。

[prodlimits_{i=1}^{n-1}((i+1)x^1+1x^0) ]

可以变换为:

[prodlimits_{i=1}^{n-1}(x^1+(i+1)x^0) ]

[F_{n-1}(x)=prodlimits_{i=1}^{n-1}(x+i+1) ]

[n=2^w,log n ]

[F_{n}(x) ightarrow F_{2n}(x) ]

[F_{2n}(x)=F_{n}(x)F_{n}(x+n) ]

[F_{n}(x)=sumlimits_{i=0}^{n}a_ix^i ]

[egin{aligned} F_{n}(x+n)&=sumlimits_{i=0}^{n}a_i(x+n)^i\ &=sumlimits_{i=0}^{n}a_isumlimits_{j=0}^{i}inom{i}{j}x^jn^{i-j}\ end{aligned}]

卷积两次即可求出(F_{n-1}(x))

[ans=sumlimits_{i}inom{m-1}{i-1}[x^{n-i}]F_{n-1}(x) ]

T2
数据结构
其实关于很具体的证明不是很简单。
但是可以说一下大概的思路。
(low(x))(x)(K)进制下最低位是谁(那一位是第多少位),(lowbit(x))位最低位上的数。
然后关于(k)的讨论其实并不只限于奇偶。
(k=(2x+1)2^p)
也就是说提出其中的所有2的因子。
(y=(2x+1)2^q)
这个时候的(y)有两种情况。

[low(y+lowbit(y))= egin{cases} low(y)&qgeq p\ low(y)+1&q<p\ end{cases} ]

其中第一种情况必然是一条链。
因为其后继只有一个,原因是2关于(2x+1)必然存在逆元,后面的部分已经不互质了所以没必要管,而需要管的仅仅是前面的(2x+1),这样是存在逆元的。
关于第二种情况,这种情况最多跳(log_kn)次因为一直在进位,而且每次进位最多跳(p)下然后再次进位。
所以跳的次数最多不超过(plog_kn)
等到不进位的时候就到了链上,我们可以用数据结构维护一波。
然后还得维护一下在链上进位的次数。
这个很好算,因为每次都加的是(K^{low(x)})那么多。
所以次数就是:(frac{n}{K^{low(x)}})
这样根据这个次数和(lowbit(x))可以唯一的确定出一个链头。
我们链上倍增一下就可以找到链头了。
这样子就知道该在哪个线段树里面操作了。
然后暴力怎么维护就怎么维护就可以了,用动态开点比较好。

T3
(burnside)
枚举循环节长度:
(len)个长度为(frac{n}{len})的序列构成了长度为(n)环.
(dp[n][m])长度为(n)的环满足(m)个染色的合法方案。

[ans=frac{1}{|G|=n}sumlimits_{len|(n,m)}dp[frac{n}{len}][frac{m}{len}]varphi(len) ]

然后考虑求(dp[n][m])
我们考虑容斥插板。
当前长度为(n)的环中(m)个被染成了金色。
要求连续长度不能超过(K)
那么我们强制第一个位置没有被染成金色,这样可以防止首尾相接造成的不合法情况。
但是这个位置有(n)种选法,同时钦定的这个相当于编号了,而没有编号所以应该除掉(n-m)
然后考虑容斥插板。
枚举每一段的长度,可以得到一个长度为(n-m)的变量序列:
({x_i})满足(forall i,x_iin[0,k])
同时有:

[sumlimits_{i=1}^{n-m}x_i=m ]

这样的话就可以直接玩插板容斥了。
设得到的结果为(r),那么答案就是:(dp[n][m]=frac{n}{n-m}r)
(O(sigma(n)))

原文地址:https://www.cnblogs.com/Lrefrain/p/12332826.html