poj3481专题

poj3481 Double Queue splay

题意:对于某种队列有3中操作,cmd =1 ,将优先级为p的顾客k加入队列 。 cmd=2,将队列优先级最高的顾客丢出队列并输出顾 客,cmd=3,将队列优先级最低的顾客丢出队列并输出顾客。 思路:用了splay,结果压根都没旋转操作。。找优先级小的就找最左端,然后把对应指针修改就行,找优先级大的就找最右端,然 后把对应指针修改就行。所以其实BIT就行了。详见代码: // file n

poj3481(通过stl中的set,以及pair和make_pair简单通过)

/*其实此题就是一个对应关系的题,如果用优先队列需要300多行的代码而且难以理解*/#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <set>using namespace std;int main(){set < pair <int , int> >s;set < p