构造、交互等思维题

Cxny

MO 题。(bushi

[NOIP2022] 喵了个喵

但凡出题人脑子正常一点都不会把这题放在

场上以为自己想出来了,打了 无果。然后没时间了。寄。

后来还发现开了 deque,光荣爆蛋。


发现 只有 两种。

的情况是平凡的。前 个栈每个储存两个元素,最后一个栈为空栈,用于消除栈底元素。

考虑如何存放多出来的一个元素。

尝试在大多数时候保持 做法的特性,即 个栈仅保存两种元素并且剩余一个栈为空。

感觉空栈很浪费,毕竟只是用来消除栈底。那么,如果不需要删除栈底,我们直接把它扔在空栈就好了。

也是就是说,令下一个栈底元素为 ,其所在栈的栈顶元素为

若当前元素到 之间出现了奇数个 ,那么我们就可以从栈顶删到栈底。此时把多出来的元素放在原来的空栈中就没有问题,且本轮操作结束后仍然存在一个空栈

如果出现了偶数个 呢?

发现把偶数个 扔到空栈之后会被全部消除。我们就不需要从栈顶删除元素了

这个时候可以把多出来的元素扔到 所在栈的栈顶。

如此操作,每一轮结束后都保留了原有的性质。非特殊元素正常操作即可。

细节较多。

  • Post title:构造、交互等思维题
  • Post author:Cxny
  • Create time:2022-12-07 10:49:10
  • Post link:https://cxny.github.io/2022/12/07/mo/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.