P4059 [Code+#1]找爸爸
妙啊。
首先想了一种离谱的方法。
设\(f(i,j)\)为\(i\)和\(j\)已经匹配时的最大收益。
那么就要知道上一个哪两个匹配,然后它们中间就一定是空格。然而这个时间复杂度为\(O(n^4)\)而且还不知道怎么分配空格。
我们考虑把分配空格交给dp来做。
设\(f(i,j,0/1/2)\)表示前i位和前j位已经使用时,最后一个匹配位置的状态为11/01/10时的最大收益,因为不可能两个都是空格。
于是我们可以看做,第一个空格的收益为-A,之后连续的每一个收益为-B,可以直接从上一个位置转移过来。
本文来自博客园,作者:lei_yu,转载请注明原文链接:https://www.cnblogs.com/lytql/p/15401184.html