5.10T2

LJ07發表於2024-05-23

給定一個 01 串,Alice 和 Bob 輪流選擇一個 "01" 子序列進行刪除,Alice 想要儘可能多,Bob 想要儘可能少。求進行多少輪(要求整輪)。

Alice 一定會刪相鄰的,Bob 一定會刪首尾。正常做只能貪心,發現貪不動。然後最最佳化問題,有單調性,不妨考慮二分為 \(k\)。判斷根據貪心思想發現只需要保留前 \(i\) 個 0 和後 \(i\) 個 1。然後要刪完發現就是得滿足一一匹配的刪。然後這就是括號匹配狀物,考慮建出括號樹,然後 check 是容易的。複雜度為 \(O(|S|\log |S|)\)