Fence Repair
Time Limit: 2000MS
Memory Limit: 65536K
Total Submissions: 29658
Accepted: 9643
Description
Farmer John wants to repair a small length of the fence aroun...
分类:
其他好文 时间:
2015-05-12 09:28:03
阅读次数:
90
好久没写过了,比赛的时候就调了一个小时,差点悲剧,重新复习一下,觉得这个写的很不错、转自:hereSplay Tree(伸展树)二叉查找树(BinarySearchTree)能够支持多种动态集合操作。因此,在信息学竞赛中,二叉排序树起着非常重要的作用,它可以被用来表示有序集合、建立索引或优先队列等。...
分类:
其他好文 时间:
2015-05-11 20:02:22
阅读次数:
196
贪心算法之赫夫曼编码
编码基本介绍
等长编码
变长编码
前缀码
赫夫曼编码的构造
贪心选择是安全的
最优子结构
编码实现
编码树节点TreeNode
优先队列的实现
赫夫曼编码的构建
maincc和Makefile
编译运行贪心算法之赫夫曼编码赫夫曼编码(Huffman coding)是一种编码方式,赫夫曼编码是变长编码的一种。可以有效的压缩数据,一般可以节约20%~90%的空间,这一般是由文件的数...
分类:
编程语言 时间:
2015-05-11 16:10:14
阅读次数:
779
前面分别介绍了“原生的Dijkstra”即毫无优化的Dijkstra,但这种Dijkstra的效率较低为n^n,因此面对较大数据量的时候需要对其进行优化,也就是优化所采用的贪心策略的实现,因此就有了Heao+Dijkstra堆优化的Dijkstra,但是堆优化的实现很复杂,而PriorityQueue+Dijkstra优先队列优化的Dijstra的效率虽然略低于堆优化的Dijkstra,但是实现却容易的多,也不容易出错,因为可以借助java类库中的PriorityQueue来实现,因此优先队列优化的Dijk...
分类:
Web程序 时间:
2015-05-11 10:55:46
阅读次数:
362
分析:可以用线段树做,但感觉麻烦。用优先队列,每次插入时都保留前k个大的数即可。
#include
#include
#include
using namespace std;
int main()
{
int n,k,j,c;
char b[2];
ios::sync_with_stdio(false);
while(cin>>n>>k)
{
priority_queue,g...
分类:
其他好文 时间:
2015-05-10 15:49:40
阅读次数:
118
1.优先队列有两项基本操作:插入(insert)和删除最小项(deleteMin),后者的工作是找出、返回和删除优先队列中最小的元素。而insert操作则等价于enqueue(入队),deleteMin则等价于dequeue(出队)。补充:C++提供2个版本的deleteMin,一个删除最小项,另一个在删除最小项的同时在通过引用传递的对象中存储所删除的值。2.优先队列的类接口template <ty...
分类:
其他好文 时间:
2015-05-10 14:24:48
阅读次数:
215
这题,简单的BFS就可以搞定。题目的大概意思是最短时间从地图的r到达a。
一开始,用普通的队列来做,结果内存超了,原因是N和M最大200;普通的队列会浪费一大堆内存,所以应该改用优先队列来做。
下面是AC的代码:
#include
#include
#include
using namespace std;
class data
{
public:
int x, y, cost;
...
分类:
其他好文 时间:
2015-05-09 16:39:16
阅读次数:
374
题目链接:
Huffman codes
题意:
先给出N个节点的出现次数
再给出M种编码方式
判断每种编码方式是否能构成哈夫曼树
题解:
判断哈夫曼编码的条件有两个:
1 哈夫曼编码不唯一,但它的WPL(带权路径长度)一定唯一
2 短码不能是长码的前缀
首先可以使用STL优先队列 根据 WPL=所有非叶节点的权值之和 求出...
分类:
其他好文 时间:
2015-05-08 22:14:30
阅读次数:
172
简介
优先队列:指队列中的元素都被指派一个优先级,元素按优先级最大(最小)出队,存储堆的数组的第一个元素就是最大的(或最小的)。所以用堆作为优先队列的元素载体是合适的。
队列有两个基本操作:1.入队2.出队。
队列的特点是先进先出。通常都把队列比喻成排队买东西,大家都很守秩序,先排队的人就先买东西。但是优先队列有所不同,它不遵循先进先出的规则,而是根据队列中元素的优先权,优先权最大的先被取...
分类:
其他好文 时间:
2015-05-08 22:09:07
阅读次数:
143
Description凯恩在遗迹探险时遇到了n个按钮,刚开始所有按钮都处于开状态,凯恩的经验告诉他把所有按钮都关上会有“好事”发生,可是有些按钮按下时会让其他一些已经闭合的按钮弹开,经过凯恩研究,每个按钮都对应着一个固定的弹开集合,这个按钮按下时,弹开集合中所有的按钮都会变为开状态。现在小k想知道是...
分类:
编程语言 时间:
2015-05-08 21:47:21
阅读次数:
519