3.4考试

T1:(f[i]=sum_{j=1}^{i}(a[i]==1)f[i-a[i]])
a[i]表示是否存在第i种质量的氨基酸。
设生成函数(f=sum_{i=1}^{n}f[i]),(h=sum_{i=1}^{n}a[i])
(f=1+f*h)
(f*(1-h)=1)
(f=frac{1}{1-h})
多项式求逆即可。

T2:仍然是NTT
(2^m)跑出把A平移1~n所花费的最小代价。
然后其中一个序列翻转,于是化成了卷积的形式,容易求出对应相同的有多少个。
再判断一下就好了。

T3:反演的题。
公式太多不想写了

原文地址:https://www.cnblogs.com/hzoi-wangxh/p/8506232.html