“一切都会好起来的。”|

zplqwq

园龄:3年10个月粉丝:25关注:14

📂题解
🔖DP
2021-07-16 22:41阅读: 120评论: 2推荐: 1

题解 CF603A Alternative Thinking

考虑 dp .

我们令 fi,0 表示当前第 i 个数字没有翻转,且前面无子串翻转的最大值。同理,fi,1 表示当前第 i 个数字没有翻转,且前面有子串翻转的最大值。最后,fi,2 表示前 i 个数字反转的最大值。答案即使三者取最大值。

一个小插曲,为什么想到这样设状态呢?

首先当然是因为题目就是这么问的。其次,我们分三个数组递推显然会很麻烦,不如用不同的 j 值来代表这三种情况。

既然如此,不难推出转移方程:

ai=ai1 则:

{fi,0=fi1,0fi,1=max(fi1,2+1,fi1,1)fi,2=max(fi1,2,fi1,0+1)

否则,则:

{fi,0=fi1,0+1fi,1=max(fi1,1+1,fi1,2)fi,2=max(fi1,2+1,fi1,0)

最后初值:

{f1,0=1f1,1=1f1,2=1

完结撒花。

本文作者:zplqwq

本文链接:https://www.cnblogs.com/zplqwq/p/15022134.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   zplqwq  阅读(120)  评论(2编辑  收藏  举报
评论
收藏
关注
推荐
深色
回顶
收起
点击右上角即可分享
微信分享提示