看着还有半个月就NOIP了,然而历年的NOIP题还很少做,赶紧补一补啊。
在网络上找到历年NOIP的全套题+评测真的不容易呀,强烈推荐Vijos!
因为我比较懒,就不贴代码了,主要讲一下做法。
NOIP 2005
篝火晚会
如果确定下了其中一个元素的对应位置,那么所有元素的对应位置都已经确定了。可以证明此时最小代价就是不在自己位置上( v i ≠ i v_i ≠ i vi=i)的元素数量。
于是有一个想法就是枚举元素的对应位置。这样会T。
实际上只需要知道与自身目标位置差相同的元素数量最多是多少即可。因为总可以通过指定该元素来让它与目标差为0,即不需要置换它们。
NOIP 2008
双栈排序
我们判断一下什么情况是不可排序的。
记序列中的数的下标为 i i i,值为 a i a_i ai, 进入的栈是 c i c_i ci ( c i c_i c