首页 > 其他 > 详细

省选模拟八十六 题解

时间:2020-05-02 23:42:57      阅读:43      评论:0      收藏:0      [点我收藏+]

T1
设end(i)代表以\(i\)为结尾的路径个数
\(f[i][j][k][l]\)代表考虑了\(i\)个点
其中有j/k个点是\(end\)为奇的白/黑点
暴力就是\(O(n^4)\)
发现转移的式子其实只跟j/k是否为0有关
并不关心他的具体值
所以只需要记录是否出现即可
复杂度\(O(n)\)

T2
容斥
\(f[i]\)代表\(1\)能到达的点集是\(i\)的方案数(其他点不考虑)
\(g[i]\)代表从\(2\)出发
则有:
\(f[i]=2^e(i)-\sum_{j是i的真子集}f[j]*2^{e(i-j)}\)
g的转移同理
\(ans=2^m-\sum_{j是S的真子集,k是S-j的真子集}f[j]g[k]2^{e(S-j-k)}\)

T3
1>存在一种最优解使得每段相差一
2>设\(f[i]\)代表从\(i\)开始一段接下来的最大段数,\(f[i]<=f[i+1]+1\)
考虑动态维护\(Hash\)并且不断减\(f[i]\)直到合法
复杂度\(O(n+S)\),\(S\)为本质不同子串个数

省选模拟八十六 题解

原文:https://www.cnblogs.com/AthosD/p/12819961.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!