iefnah06

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

URL

https://codeforces.com/contest/1326/problem/E

解法

在加入炸弹的过程中答案显然不升,且每次剩下的数都是上一次的子集。

考虑当前的答案是 \(x\),已经删除了所有 \(>x\) 的数,判断 \(x\) 是否被删除。充要条件是:

  • 最右的 \(\ge x\) 的数的右边有至少 \(1\) 个炸弹。

  • 次右的 \(\ge x\) 的数的右边有至少 \(2\) 个炸弹。

    ...

  • \(N-x+1\) 右的 \(\ge x\) 的数的右边有至少 \(N-x+1\) 个炸弹。

可以用线段树维护。

实现

https://ideone.com/LjZkPy

posted on 2020-04-05 00:55  iefnah06  阅读(135)  评论(0)    收藏  举报