摘要: 朴素Dijkstra : O(V^2)void Dijkstra(int s,int n) // s为起点 s-t是所有点的集合{ for (int i=0;i<n;i++) dist[i]=INT_MAX; //limits.h memset(vis,0,sizeof(vis)); //string.h dist[s]=0; int ok=1; while(ok) { ok=0; int min=INT_MAX; int k; for (in... 阅读全文
posted @ 2012-07-22 20:03 AbandonZHANG 阅读(369) 评论(0) 推荐(0)
摘要: 在优先队列中,优先级高的元素先出队列。标准库默认使用元素类型的<操作符来确定它们之间的优先级关系。优先队列的第一种用法,也是最常用的用法:priority_queue<int> qi;通过<操作符可知在整数中元素大的优先级高。故示例1中输出结果为:9 6 5 3 2第二种方法:在示例1中,如果我们要把元素从小到大输出怎么办呢?这时我们可以传入一个比较函数,使用functional.h函数对象作为比较函数。priority_queue<int, vector<int>, greater<int> >qi2;其中第二个参数为容器类型。第二 阅读全文
posted @ 2012-07-22 19:40 AbandonZHANG 阅读(279) 评论(0) 推荐(0)
摘要: 转自:http://www.cnblogs.com/pony1993/题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4006题意很简单,求第k大的数。用优先队列,输入的时候,队首元素是最小的,每输入一个元素,队列掺毒是否大于 K,若大于k,删除队首元素,这样队首元素永远是第k大的数。#include <iostream>#include <cstdio>#include <queue>#include <vector>#include <algorithm>using namespace 阅读全文
posted @ 2012-07-22 18:54 AbandonZHANG 阅读(225) 评论(0) 推荐(0)
摘要: 过几天就开始去学校集训,大二就算开始了吧?那也该为大一做做总结了。 这也许是我每次写它时的惯用开头吧? ACM是一种信仰;是兴趣,是梦想。 ------All of the ACMers 那天DIY群里在讨论,有人问那些大神ACM是为了拿奖&保研么?我看到了一致的回答:这里的大牛们有哪个是为了保研拿奖?就像FDU的HL和UESTC的Izayoi,在大一就已经拿到了区域赛金牌,又是什么让他们现在还在废寝忘食的学习、做题?是兴趣,是那句“因为我喜欢AC”。 正题:大一总结 直到今天,我才有勇气写下这篇该痛骂自己的总结,成功不是耍嘴皮子,不经历刮骨般的磨难,何谈成功? 很荣幸,... 阅读全文
posted @ 2012-07-22 01:37 AbandonZHANG 阅读(491) 评论(0) 推荐(0)