双端队列
2020-08-25 本文已影响0人
sakura579
![](https://img.haomeiwen.com/i7186975/4039ee3ee716c2c5.png)
![](https://img.haomeiwen.com/i7186975/b42acb74d32c62de.png)
![](https://img.haomeiwen.com/i7186975/6afbadbbc23bb311.png)
![](https://img.haomeiwen.com/i7186975/cdeeff682b0e10cf.png)
![](https://img.haomeiwen.com/i7186975/9f3d573bd8744181.png)
先把双端队列 的一端 堵住
变成了一个栈
![](https://img.haomeiwen.com/i7186975/056a3a04cac9af91.png)
在这种情况下 输入序列1,2,3,4所能得到的输出队列个数
即栈能输出的序列个数 是一个卡特兰数
全排列 -栈能输出的序列数 得到栈不可能输出的序列 的个数
再把双端队列的左端放开
穷举法
列出14种栈能输出的序列 还要列出4的全排列的所有序列
才能得到剩下的10个序列 然后全部根据双端队列性质 试一遍
看看哪些能输出 哪些不能
![](https://img.haomeiwen.com/i7186975/34307d63e9456399.png)
考研会给你列几组序列,让你尝试哪几组可能
![](https://img.haomeiwen.com/i7186975/4c54a803c7019b08.png)
I 表示入队
OL表示左边出队
OR表示右边出队
![](https://img.haomeiwen.com/i7186975/f73041754c73c1e4.png)
![](https://img.haomeiwen.com/i7186975/af823b49f9cb9c41.png)
黄色的代表不可能由 输入受限的双端队列所输出
![](https://img.haomeiwen.com/i7186975/84247020c1e5eb30.png)
![](https://img.haomeiwen.com/i7186975/bade5926245689bf.png)
![](https://img.haomeiwen.com/i7186975/b97f12fbbca49f42.png)
![](https://img.haomeiwen.com/i7186975/48a38c84559693f0.png)
![](https://img.haomeiwen.com/i7186975/02c32da91398562b.png)
4、2、3、1
![](https://img.haomeiwen.com/i7186975/3cee15fd42f30acc.png)
选C