码迷,mamicode.com
首页 >  
搜索关键字:入队    ( 1629个结果
hdu1285 拓扑排序+优先队列
给出几组比赛的胜负情况。判断最后的排名。根据题意这就是一个明显的拓扑排序问题了。 注意 如果因为可能的排名有多种情况,这时要保证编号小的在前。 题目输入的数据可能有重复边 拓扑排序 首先统计每个结点的入度。将度为0的结点编号放入队列(此题放入优先队列中)中。 然后进行循环: 取出队头结点,视作边的起点。 然后“删除与该点相连的边”,代码就是将这个图中的该边另一个结点(即终点)的入度减一; 如果减一以后,终点的入度变为了0,那么将终点的编号入队列。 判断队列是否为空,若不空,则回到1...
分类:其他好文   时间:2014-07-19 02:25:55    阅读次数:175
【数据结构】优先队列和堆
优先队列(priority queue)对于一般的队列是在队列的尾部添加数据,在头部删除,以便先进先出。而优先队列中的每个元素都有一个优先级,每次将一个元素放入队列中,而每次出队时都是将优先级最大的那个元素出队,称为高进先出(largest-in,first-out)。优先队列必须实现以下几个操作1...
分类:其他好文   时间:2014-07-18 18:35:23    阅读次数:287
hdu 4308 Saving Princess claire_ BFS
为了准备算法考试刷的,想明白一点就行,所有的传送门相当于一个点,当遇到一个传送门的时候,把所有的传送门都压入队列进行搜索 贴代码: #include #include #include #include #include using namespace std; const int MAXN = 5000+50; int r,c,f,si,sj,ei,ej,ans;...
分类:其他好文   时间:2014-07-18 14:08:32    阅读次数:245
CMA连续物理内存用户空间映射---(一)
背景: 在多媒体和图像处理等应用中,经常用到大块内存,尤其是硬件编解码,需要内核分配大块的物理连续内存。 这里希望通过把从内核分配的连续物理内存映射到用户空间,在用户空间经过处理,又可以入队到驱动中。 前提: Kernel Config中 根据需求配置和调整CMA的大小。 方法: (一) 1、驱动注册misc设备; 2、驱动实现IOCTL的内存分配,使用dma_alloc_writ...
分类:其他好文   时间:2014-07-18 11:30:45    阅读次数:256
最短路中部分点只能从中任意选取K个问题
题意:给N个点,还有另外m个点(其中只能选K个),求最短路。 思路:在SPFA的基础上,用一个数组来统计,在某点入队时(要拓展其他点了),若该点是m个点中的,则count【i】=原来的+1;若不是,则继承原来的。出队时候限制一下,若大于K了,就停止拓展。 原题:目前在一个很大的平面房间里有 n 个无线路由器,每个无线路由器都 固定在某个点上。任何两个无线路由器只要距离不超过 r 就能互相建立...
分类:其他好文   时间:2014-07-16 14:16:43    阅读次数:258
hdu 4544 湫湫系列故事——消灭兔子 优先队列+贪心
将兔子的血量从小到大排序,箭的威力也从小到大排序, 对于每只兔子将威力大于血量的箭加入队列,写个优先队列使得出来数位价钱最少。。 #include #include #include #include #include using namespace std; const int maxn=100010; struct tt { int d; int p; bool operator<...
分类:其他好文   时间:2014-07-15 12:52:52    阅读次数:321
codeforces#FF(div2) D DZY Loves Modification
首先要知道选择行列操作时顺序是无关的 用两个数组row[i],col[j]分别表示仅选择i行能得到的最大值和仅选择j列能得到的最大值 这个用优先队列维护,没选择一行(列)后将这行(列)的和减去相应的np (mp)重新加入队列 枚举选择行的次数为i,那么选择列的次数为k - i次,ans = row[i] + col[k - i] - (k - i) * i * p; 既然顺序无关,...
分类:其他好文   时间:2014-07-14 16:44:35    阅读次数:205
hdu4360 spfa+拆点
题目要求必须按照L O V E 的顺序行走,且必须至少有一个完整的LOVE,说明可以经过同一个点多次 对每个点拆分为4个点,分别为从L,O,V,E到达。起始点看做是从E到达的 spfa时发现当前点距离相同,比较经过的边数,此时若边数更大,也要入队列!因为要更新后面的点经过的边数 trick 是点可以有自环,当N = 1时 1 4 1 1 1 L 1 1 1 O 1 1 1 V 1 ...
分类:其他好文   时间:2014-07-13 00:11:22    阅读次数:356
hdu2647Reward
这个题目是拓扑排序,因为边的数目非常大,所以普通的建图会爆内存,所以这里采用vector容器。 1:建完图后对入度为0的点加入队列,然后对整幅图进行扫描,得到每个点的位置。 2:要用一个数组存相对位置,所以不能只用一个变量存储,因为每次出队列只能有一个元素。。 2:用数组模拟果然比stl快一些。。。 题目链接: 哈哈 我在这里 题面: Reward Time Limit...
分类:其他好文   时间:2014-07-12 16:35:07    阅读次数:292
队列——链表实现
引言:            队列与栈的区别是队列是先进先出的数据结构。为了使得出入队列容易,可以引入队列头指针和队列尾指针。 分析描述:        队列的结点结构。 typedef int QElemType; typedef struct QNode{ QElemType data; struct QNode *next; }QNode, *QueuePtr;...
分类:其他好文   时间:2014-07-10 19:28:47    阅读次数:197
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!