CF1326E Bombs

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

猜你喜欢

转载自www.cnblogs.com/iefnah06/p/12635555.html