
数据结构
文章平均质量分 85
知足c
Good afternoon, Good evening and Good night~
展开
-
POJ 2182 Lost Cows (递推)
Description N (2 <= N <= 8,000) cows have unique brands in the range 1..N. In a spectacular display of poor judgment, they visited the neighborhood 'watering hole' and drank a few too man原创 2014-07-08 20:15:40 · 816 阅读 · 0 评论 -
UVa 514 Rails(经典栈)
有n辆火车 按1到n的顺序进站 最后进站的车可以在任何时候出去 判断给定的出站序列是否可能 火车只有两种状态 从A进站 或者从站到B 模拟栈的操作就行了 令A表示A中当前待进站的第一辆火车 tar[B]表示出站序列中当前应该出站的火车 sta为火车站 当A==tar[B]的时候 A进站马上出战 否则当站中最后一辆==tar[B]时 这辆车出站 都不满足就只能A中的最前面的火车进站 当n辆火车全部进站 而站中还有火车是 给定的出战序列就是不可能的原创 2014-08-04 17:07:46 · 1304 阅读 · 0 评论 -
UVa 11988 Broken Keyboard(链表的应用)
题意 电脑键盘的home键和end键坏了 会在你不注意时自动按下 给你一个输入序列 '['代表home键 ']'代表end键 要求输出屏幕上对应的输出 用链表保存每个位置的字符c和下一个位置的编号next 最后一个字符的next为0 并用cur表示光标的移动原创 2014-08-06 10:26:58 · 1137 阅读 · 0 评论 -
UVa 679 Dropping Balls
题意 i个小球在一棵二叉树上下落 第奇数个到达某个节点就往左 否则往右 求最后一个小球下落到最底层所在结点的序号 对于第i个小球 在根结点处 若i是奇数 则它是往左的第(i+1)/2个小球 若i是偶数 则它是往右的第n/2个小球 而对于一个结点k 它的左子结点序号为2*k 右子节点序号为2*k+1 每次更新i到到最底层就得出结果了原创 2014-08-06 14:51:17 · 1039 阅读 · 0 评论 -
UVa 12657 Boxes in a Line(双向链表的应用)
题意 开始有n个盒子按1到n的顺序排列 对这些盒子进行m次操作 每次为把x移到y的左边 右边 交换x,y 颠倒顺序中的一个 求操作完成后所有奇数位原盒子序号的和; 直接模拟肯定会超时 用stl中的链表也超时 只能用数组自己模拟一个双向链表了 le[i],ri[i]分别表示第i个盒子左边盒子的序号和右边盒子的序号 代码中有注释原创 2014-08-06 21:14:47 · 1729 阅读 · 0 评论 -
POJ 3282 Ferry Loading IV(模拟,队列)
题意 汽车通过渡船过河 渡船开始在左边 输入按车辆来的顺序输入河两岸的车 渡船每次运输的汽车的总长度不能超过渡船自己本身的长度 先来的车先走 求轮船至少跨河多少次才能将所有的车辆都运完 简单模拟 建两个队列 分别装左边的车 和右边的车 算出两边各至少需要运输多少次就行了 #include #include #include using namespace std;原创 2014-08-14 21:46:52 · 1309 阅读 · 0 评论 -
POJ 3481 Double Queue(STL)
题意 模拟银行的排队系统 有三种操作 1-添加优先级为p 编号为k的人到队列 2-服务当前优先级最大的 3-服务当前优先级最小的 0-退出系统 可以用stl中的map 因为map本身就根据key的值排了序 对应2,3 我们只需要输出最大或最小就行了并从map中删除该键值 #include #include using namespace std; map a; int原创 2014-08-15 13:56:23 · 1532 阅读 · 0 评论