题解:AT_agc045_c [AGC045C] Range Set
显然状态的 01 可以翻转,不妨假设
正着做很难 dp,反着来试试。
考虑终止状态怎么还原到初始全零的状态,由于执行的是覆盖操作,在此之前被覆盖的值是何种我们一概不管,0/1 任填,设为 ?。
那么操作一就变成了让一段现在是 0 和 ? 长度为 ?,操作二同理。
那最后变成全 0 的条件显然就是把 1 全部删除,要求进一步转化成了,需进行至少一次操作二。
如何凑出一个长度为 ? 然后拼起来。
复杂度
Submission #71382704 - AtCoder Grand Contest 045。