Description 最近小M买了一个移动硬盘来储存自己电脑里不常用的文件.但是他把这些文件一股脑丢进移动硬盘后,觉得这些文件似乎没有被很好地归类,这样以后找起来岂不是会非常麻烦? 小M最终决定要把这些文件好好归类,把同一类地移动到一起.所以现在小M有了这几种操作: 1 u 表示把编号为u的文件放到最上面 2 u 表示把编号为u的文件放到最下面 3 u v 表示把编号为u的文件放到编号为v的文件的后面 已知在最开始的时候,1号文件到n号文件从上往下排布 现在小M已经给出了他所进行的所有操作,你…
Description 最近小M买了一个移动硬盘来储存自己电脑里不常用的文件.但是他把这些文件一股脑丢进移动硬盘后,觉得这些文件似乎没有被很好地归类,这样以后找起来岂不是会非常麻烦?小M最终决定要把这些文件好好归类,把同一类地移动到一起.所以现在小M有了这几种操作:1 u 表示把编号为u的文件放到最上面2 u 表示把编号为u的文件放到最下面3 u v 表示把编号为u的文件放到编号为v的文件的后面已知在最开始的时候,1号文件到n号文件从上往下排布现在小M已经给出了他所进行的所有操作,你能告诉他操作…
CSU-1982 小M的移动硬盘 Description 最近小M买了一个移动硬盘来储存自己电脑里不常用的文件.但是他把这些文件一股脑丢进移动硬盘后,觉得这些文件似乎没有被很好地归类,这样以后找起来岂不是会非常麻烦? 小M最终决定要把这些文件好好归类,把同一类地移动到一起.所以现在小M有了这几种操作: 1 u 表示把编号为u的文件放到最上面 2 u 表示把编号为u的文件放到最下面 3 u v 表示把编号为u的文件放到编号为v的文件的后面 已知在最开始的时候,1号文件到n号文件从上往下排布 现在小…
题目链接 题意:n个人,每个人有一个能力值.给出m组关系A, B, 表示A的能力值大于B的能力值. 问:m组关系中是否有自相矛盾的?若不矛盾,问:第1个人在所有人的能力值中排名第几?有多少人的能力值的排名可以确定? 题解:拓扑排序.存两个图,原图与反图. 若原图可达该点数+反图可达该点数-1 = n,则排名确定. bitset一下. #include <bits/stdc++.h> using namespace std; #define X first #define Y second #d…
题目大意: 企鹅国正在举办全面运动会,第一项比赛就是跑步.N 个人在圆形跑道上跑步,他们都有各自的速度和起点.但这个跑步规则很奇怪,当两个人相遇的时候编号较小的就会出局,当场上剩下最后一个人的时候跑步就结束了.豆豆想知道多长时间游戏会结束? 输入格式 第一行一个整数 T 表示数据组数: 每组数据的第一行是两个整数 N 和 L ,表示参赛人数以及跑道长度. 接下来一行有 N 个不同的整数 Di,表示每个人的起点. 接下来一行有 N 个不同的整数 Vi,表示每个人的跑步速度,如果速度为负数,就是在反…
题意:对于一行按照顺序排列盒子数字与位置都为 1,2,3,4....n 执行四种操作 c = 1 x 放到 y 的左边 c =2 x 放到 y 的右边 c =3 交换 x, y c =4 颠倒链 最后求出奇数位置的数的总和 题解:直接维护无论如何每次每次都需要维护一段区间的位置,因此不去看位置.只需要知道每个盒子左边是哪个盒子右边是哪个盒子 这样就直接使用双向链表维护,接着颠倒时注意只是标记就好 最后注意几个细节: 首先颠倒后1与2的交换需要互换: 维护链表时可以提取出一个函数,每…