给定一个 01 串,Alice 和 Bob 轮流选择一个 "01" 子序列进行删除,Alice 想要尽可能多,Bob 想要尽可能少。求进行多少轮(要求整轮)。
Alice 一定会删相邻的,Bob 一定会删首尾。正常做只能贪心,发现贪不动。然后最优化问题,有单调性,不妨考虑二分为 \(k\)。判断根据贪心思想发现只需要保留前 \(i\) 个 0 和后 \(i\) 个 1。然后要删完发现就是得满足一一匹配的删。然后这就是括号匹配状物,考虑建出括号树,然后 check 是容易的。复杂度为 \(O(|S|\log |S|)\)。
标签:01,T2,Alice,5.10,Bob,贪心 From: https://www.cnblogs.com/1l2u3o/p/18209376