状压dp
Mima_Reincarnation
这个作者很懒,什么都没留下…
展开
-
BZOJ4197: [Noi2015]寿司晚宴 状压DP
题意:把2~n这些数分成两个可空集合,要求两个集合中任取一对数都必须互质,求方案数 2≤n≤500 比较显然的是可以把每个数分解质因数,相当于两个集合中不能存在同一质因数。 但是质因数个数可能很多,并不好设状态。 注意到每个数中最多只有一个大于等于根号n的质因子,而小于根号n的质数只有8个,那么将所有数按照大质因子分类,规定每一类最多只能被一个集合选,就可以把前八个质数状压来表示状态了。原创 2017-04-11 13:54:11 · 481 阅读 · 0 评论 -
BZOJ3864: Hero meet devil DP套DP
题意:给出字符串S,对于每一个i,问有多少个长度为m的字符串与S的最长公共子序列长度为i |S|<=15. m<= 1000. DP的瓶颈在于如果考虑保存LCP长度或者结束位置的话,会存在状态相同的串而转移方式不同。为了消除后效性,需要将最后一位与S所有位的匹配状态都记录下来。 考虑LCP的转移方程: f[i][j]=f[i-1][j-1]+1 (i==j); 或 f[i][j]=max(f原创 2017-04-11 16:36:53 · 656 阅读 · 2 评论