题解 CF896B Ithea Plays With Chtholly

著名的 ODT 场的题。

\(m\) 个数,放到 \(1\to n\) 一个位置上,若 \(1\to n\) 都被填满且不下降就胜。强制在线。

看到题忽然觉得是水题,这不就最长不下降子序列的那个吗!直接上个二分就准备交了,装模作样地论证了一番:“这最长不下降子序列都最长了它又保证有解那肯定是了”,还想着这怎么可能那么简单。

怎么可能那么简单!

反例:

5 5 9
9 1 8 1 7 

若一个从前往后一个从后往前就可以完成,而那个做法还只填了 1 1 7 呢!

问题出在哪里?

  • 最长不下降子序列要求相对位置不变,而这个可以变。

但别着急放弃。这是一个对的做法,只是浪费的步数多一点,那么浪费多少步呢?每一个最多被填 \(1\) 次并覆盖 \(c-1\) 次,所以最多要 \(n \times c\) 步。
啊!那 \(m\) 的限制不是这个步数的一半吗?那么就搞两个上面的,头一个尾一个,然后按照和 \(\frac{c}{2}\) 的大小关系分开就好了。

妙啊!

posted @ 2021-07-28 16:36  Acfboy  阅读(25)  评论(0)    收藏  举报