原理:
假设有两个栈分别叫stack1,stack2。那么入队操作就是向stack1中push元素,出队操作就是将stack1中的所有元素pop出来,然后push到stack2中,对stack2进行pop操作。
题目:
题目描述:
用两个栈来实现一个队列,完成队列的Push和Pop操作。
队列中的元素为int类型。
输入:
...
分类:
其他好文 时间:
2014-07-21 13:33:06
阅读次数:
203
给出几组比赛的胜负情况。判断最后的排名。根据题意这就是一个明显的拓扑排序问题了。
注意
如果因为可能的排名有多种情况,这时要保证编号小的在前。
题目输入的数据可能有重复边
拓扑排序
首先统计每个结点的入度。将度为0的结点编号放入队列(此题放入优先队列中)中。
然后进行循环:
取出队头结点,视作边的起点。
然后“删除与该点相连的边”,代码就是将这个图中的该边另一个结点(即终点)的入度减一;
如果减一以后,终点的入度变为了0,那么将终点的编号入队列。
判断队列是否为空,若不空,则回到1...
分类:
其他好文 时间:
2014-07-19 02:25:55
阅读次数:
175
优先队列(priority queue)对于一般的队列是在队列的尾部添加数据,在头部删除,以便先进先出。而优先队列中的每个元素都有一个优先级,每次将一个元素放入队列中,而每次出队时都是将优先级最大的那个元素出队,称为高进先出(largest-in,first-out)。优先队列必须实现以下几个操作1...
分类:
其他好文 时间:
2014-07-18 18:35:23
阅读次数:
287
题意:给N个点,还有另外m个点(其中只能选K个),求最短路。
思路:在SPFA的基础上,用一个数组来统计,在某点入队时(要拓展其他点了),若该点是m个点中的,则count【i】=原来的+1;若不是,则继承原来的。出队时候限制一下,若大于K了,就停止拓展。
原题:目前在一个很大的平面房间里有 n 个无线路由器,每个无线路由器都
固定在某个点上。任何两个无线路由器只要距离不超过 r 就能互相建立...
分类:
其他好文 时间:
2014-07-16 14:16:43
阅读次数:
258
这个题目是拓扑排序,因为边的数目非常大,所以普通的建图会爆内存,所以这里采用vector容器。
1:建完图后对入度为0的点加入队列,然后对整幅图进行扫描,得到每个点的位置。
2:要用一个数组存相对位置,所以不能只用一个变量存储,因为每次出队列只能有一个元素。。
2:用数组模拟果然比stl快一些。。。
题目链接:
哈哈 我在这里
题面:
Reward
Time Limit...
分类:
其他好文 时间:
2014-07-12 16:35:07
阅读次数:
292
这要是碰上现场赛我得被搞死 从RE到TLE到WA已疯。。
这题建图没有那么直接,通过给出的不等式关系一时想不到怎么建图
所以要对题目给的条件一定程度化简,将不等式两边取对数化简得到Sa-Sb
要注意w取double类型
其次,这题卡时间,根据经验加剪枝:
1、出队次数>sqrt(n)则判断有负环
2、统计总的入队次数,>2n则判断有负环
一般情况下不用这个,因为不严谨
...
分类:
其他好文 时间:
2014-07-08 17:02:17
阅读次数:
220
队列是可以在它的两端可以进行操作,一端入队列,一端出队列。 队列中用两个标志来表示队列头和队列尾,front和rear,front指向队列头元素的前一个位置,rear指向队列尾的那个元素。 用C++实现如下: //定义一个队列#includeusing namespace std;const...
分类:
其他好文 时间:
2014-07-07 16:42:38
阅读次数:
291
Queue队列,如同data数据缓存与Deferred异步模型一样,都是jQuery库的内部实现的基础设施Queue队列是animate动画依赖的基础设施,整个jQuery中队列仅供给动画使用Queue队列队列是一种特殊的线性表,只允许在表的前端(队头)进行删除操作(出队),在表的后端(队尾)进行插...
分类:
Web程序 时间:
2014-06-27 21:59:45
阅读次数:
205
假设栈的输入序列为1234,判断以下4123,2431是否合法。 针对2431: 先让1进队,再让2进队列,让2弹出,让3入,让4入,最后依次弹出,则结果就是2431 针对4123: 要让4出队,必须先让123都入队,那么4接下来的出队顺序就应该是3,而不是1,所以错误。注: 1、必须保存入队...
分类:
其他好文 时间:
2014-06-27 14:58:09
阅读次数:
175
kuangbin题解写的很好,我就不赘余了。。
一下解释来自kuangbin:
题意:有n个人排队等着在官网上激活游戏。Tomato排在第m个。
对于队列中的第一个人。有一下情况:
1、激活失败,留在队列中等待下一次激活(概率为p1)
2、失去连接,出队列,然后排在队列的最后(概率为p2)
3、激活成功,离开队列(概率为p3)
4、服务器瘫痪,服务器停止激活,所有人都无法激活了。
...
分类:
其他好文 时间:
2014-06-26 07:29:11
阅读次数:
210