摘要: 后缀自动机+manacher 听说本质不同的回文串只有O(n)个 那么用manacher求出所有回文串,然后在sam上查找出现了几次就行了 sam的性质又忘了。。。 manacher也忘了。。。 #include<bits/stdc++.h> using namespace std; const i 阅读全文
posted @ 2017-12-14 10:29 19992147 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 斯坦纳树 比之前要求高了一些 其实利用斯坦纳树的dp[i][s]以i为根,S为状态就行了,先跑一遍斯坦纳树,预处理出dp数组,记住每个S的最小值,然后再dp,这里dp必须要求同一种颜色的状态都必须在S里,然后跑枚举子集就行了 #include<bits/stdc++.h> using namespa 阅读全文
posted @ 2017-12-14 10:27 19992147 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 树形dp+第二类斯特林数 又是这种形式,只不过这次不用伯努利数了 直接搞肯定不行,我们化简一下式子,考虑x^n的组合意义,是把n个物品放到x个箱子里的方案数。那么就等于这个i=1->n,sigma(s[n,i]*A(x,i)),就是枚举要分成几组,这个用斯特林数算,然后把这些组放进箱子里,那么就是A 阅读全文
posted @ 2017-12-14 10:24 19992147 阅读(207) 评论(0) 推荐(0) 编辑