贪心转DP:AGC022E

本文搬运自本人高中时期CSDN博客,若图片加载不出来,可到原文查看:https://blog.csdn.net/zhangtingxiqwq/article/details/132152603

upd on 11.7 : 1的个数维护2个即可


https://www.luogu.com.cn/problem/AT_agc022_e

考虑如何选取是最优的,显然是000变0,110和010都是同时消掉01

观察此性质,可以发现0最多不会同时出现3个。对于第2种方法,在入0的时候我们不能确定是否还有连续0,但入1的时候可以确定前面没有连续0,所以在1的时候来维护000是可以的。

这个过程中1要么进来,要么进来之前被消掉,所以在此过程中1的个数不减。

所以考虑维护1的个数和0的个数,而1的个数最多是3个。

这是一个朴素的贪心思路,然后抓住1的个数不超过3,0的个数不超过2的这个性质,由于其状态数很少,所以可以直接作为dp状态。

本质是一种dp判定转状态。
在这里插入图片描述