T51443 二进制之谜
这道题并不难,但是包含了很多思想,感觉很有意思。
第一眼看到题目的时候并没有想到网络流,想到了一个
n
2
n^2
n2的dp做法。考虑
f
(
i
,
j
)
f(i,j)
f(i,j)表示到第
i
i
i位前面有
j
j
j个0没有匹配的最优解。由于
i
,
j
i,j
i,j匹配的贡献就是
j
−
i
j-i
j−i,所以分开统计即可。
这个dp的思路来自noi D1T2
题解是网络流跑一下。
题解中还有一个贪心的做法。想一想很有道理。考虑刚刚的dp其实第二维没有什么用,我们最优解一定是匹配前面的1。于是把dp改成贪心。