随笔分类 - 各类动态规划及优化
摘要:题意:给定一个字符串S和字符集大小$n$。要求另生成一个字符串,它一开始为空,每次平均且独立地随机生成一个字符集中的字符添加到其末尾,生成出字串S时停下,求所生成字符串的长度的期望。 sol:一眼DP + KMP加速转移。又发现这是一个马尔可夫过程,可列出$n$个方程,暴力高斯消元求解之即可。 然而
阅读全文
摘要:omo省选前夜… I'm Crawling Back to U... 若干坑点: solve(x)是指小于x的windy数数量… 所以答案应是solve(b+1) solve(a) 还有数组大小问题… B了狗了… // BZOJ 1026 数位DP include include include u
阅读全文
摘要:BZOJ 2423 DP 第一问是经典DP,直接做就可以了(设$f[i][j]$为$X$串考虑到$i$,$Y$串考虑到$j$,且不强制选$i$和$j$的方案数)。然后第二问。分几种情况讨论一下(可能看起来有点不优美……): 设$g[i][j]$为方案数,则 I. $A[i]=B[j]$ $...
阅读全文
摘要:比较裸的DP+斜率优化啦…… 让窝又想到了BZOJ上A的第一道有意义的题1597…… 作为第27个A的题也让我颇有感触……设前$i$个玩具放置到$j$个盒子里所需的最小费用为$f[i][j]$。由于连续的玩具必须放到一个容器里,所以我们有:$$f[i][j]=f[k][j-1]+cost[k+1][...
阅读全文
摘要:本题的DP思路很好想:设f[i]为第i个怪兽被消灭所需要的最小代价,那么,f[i]=min{spl[i],ori[i]+∑j∈App[i]f[j]}然而,由于f[j]有可能也要依赖f[i],所以这个DP会带环。啊,那该怎么办呢?遇到这类问题,我们常常用SPFA来处理。怎么处理呢?我们需要更新过f[j...
阅读全文
摘要:1009那题仍然记忆犹新…… 首先说一下1009的拓展:如果有多个串,则需要建立AC自动机,状态也需要改成:设f[i][j]为考虑到长度为i的字符串,匹配到AC自动机的j号节点的方案数,同样地道理构造出矩阵即可,只不过这里f[i][j]为0的条件变为j号节点是单词节点。 然后看这道题,它的要求是相反...
阅读全文
摘要:第一次用MarkDown和LaTex,写得有点丑……本题的坑爹历程给了我一个血的教训:没有真正搞清楚做法之前,不要瞎BB地写题解。不然会造成深陷坑中的严重后果。题意简述:给定一个字符串s,求出长度为n的不含字串s的字符串t的数量。这道题是一个非常经典的模型,DP之: 设f[i][j]为前i个t字符,...
阅读全文
摘要:从这篇开始换字体。。数据范围很小。。直接暴力DP之即可。。感觉跟之前做的1597的DP很像,都是基于连续区间的DP,应该也可以用斜率优化。。还感觉跟某次CodeVS模拟赛的题的一道变态题(多面体原谅我。。)很像。。只不过那道题最后是二分图匹配。。题解详见代码注释。。我只想吐槽。。窝一遇到什么n m ...
阅读全文
摘要:这道题有很多奇妙的方法可以搞。。最科学的当然是基尔霍夫矩阵(按照传统,“我也不知道是什么东西”),详见VFK教主的博客;还有乱七八糟的找规律,网上遍地都是。。我就把这题当作高精度练习题了。。(你为什么又抄黄学长模板!?。。// BZOJ 1002#include #include #include ...
阅读全文
摘要:本题是我第一道A掉的NOI题~ 啪啪啪。。参考了tky的论文,他的题解很详尽易懂,下面对这个经典题目的经典解法作个推导和总结。第一个拦路虎是如何求出鼠和猫的位置为(a,b)时猫的下一步行动。我们设p[a][b]为猫位于a,鼠位于b时猫下一步走到的节点。由于这个图没有边权,所以这个p是可以通过n次BF...
阅读全文
摘要:Pre言:本文的题解原题均来源于白书,题号:UVa 10859, 11825, 11584, 10534, 11552, 11404, 11795, 10564.LA 3983, 4794, 4256, 4731, 4727, 2038, 4394, 4015.一直觉得自己的基础DP不是很扎实,所以...
阅读全文

浙公网安备 33010602011771号