题意:求最短路和比最短路长度多1的次短路的个数本来想图(有)方(模)便(版)用spfa的,结果妹纸要我看看dijkstra怎么解....写了三遍orzVer1.0:堆优化+邻接表,WA 1 //不能用堆优化+邻接表,因为需要处理dis[i][0]和dis[i][1]两套,如果都挤到一个堆里就乱套了....
分类:
其他好文 时间:
2014-10-12 12:31:18
阅读次数:
176
You are given a list of cities. Each direct connection between two cities has its transportation cost (an integer bigger than 0). The goal is to find the paths of minimum cost between pairs of cities....
分类:
Web程序 时间:
2014-10-05 01:29:57
阅读次数:
289
尽管堆优化的Prim用于处理稠密图不错,但是实际上很少有题目稠密图。所以一般直接上用并查集优化的Kruskal,简洁高效。int find(int x) {return x!=p[x]?p[x]=find(p[x]):x;}struct edge{ int u,v,c;}Edge[10001]...
分类:
其他好文 时间:
2014-10-02 21:46:13
阅读次数:
243
考虑poj3320尺取法的做法,与此题基本一样,但是此题的 位置 的范围到2^31 尺取法不可。将每种珠子所在的位置排序。每种珠子要维护一个指针,指到已经用到这个种类的哪个珠子。所以尺取法用堆优化,每次从堆中取出最小的,相当于尺取法的头指针向后移动。然后从每种珠子里向后取出一个位置(指针++)(已经...
分类:
其他好文 时间:
2014-09-13 17:02:25
阅读次数:
234
题目大意:给定一个无向图,每条边有边权,有些点有点权,一些点是加油站,求一条起点到终点的最短路,使经过有点权的点不超过k次,一管油只能走limit的时间,时间到了就只能到加油站花cost的时间加油
那个红绿灯的计算公式是 red*red/2/(red+green) 考场上很多人没推出来这个挂掉了 我推出来不会写,写了爆搜,26分
限制条件有点多。。。考虑到k
首先我们枚举每一个加油站(起始点...
分类:
其他好文 时间:
2014-09-10 09:39:20
阅读次数:
1020
优化: 1 . 不对dist数组进行更新(单调性保证)(否则狂TLE)
2 . 随a权值递增而加边,同时在函数外让点入队 (否则狂WA)
3 . 对a权值排序然后进行枚举。(否则有可能常数TLE)
以下为非必须优化:
4 . 对边进行边权排序,加边时可以保证线性时间复杂度
5 . 对SPFA(Dijsktra)进行优先队列优化(堆优化)。(因...
分类:
其他好文 时间:
2014-09-02 17:56:45
阅读次数:
1010
这题不是裸的最短路么?但是一看数据范围就傻了。点数10^6,边数10^7。这个spfa就别想了(本来spfa就是相当不靠谱的玩意),看来是要用堆优化dijkstra了。但是,平时写dijkstra时为了偷懒直接用的STL的priority_queue,没办法改变权值,所以都是直接把pair压进堆里。...
分类:
其他好文 时间:
2014-08-06 11:40:41
阅读次数:
247
很裸的最短路,不过节点数和边数都是1e6,直接dij肯定是不行了,稀疏图用heap优化一下就好o(╯□╰)o注意STL里面的优先队列是优先级大的(值大的)在前面的,一开始没注意WA了好几发,哎,太粗心了#include #include #include #include #include #inc...
分类:
其他好文 时间:
2014-07-22 22:54:33
阅读次数:
212
话不多说,拿来主义,直接上代码!PS:打印最短路径我还不晓得怎么加,如有哪位大神知道,还请mark一下! 1
/*********************************************************************** 2 *
File: Fibonacci...
分类:
其他好文 时间:
2014-05-26 20:10:56
阅读次数:
568
最短路径全集
使用最短路算法。
锦囊2
使用Dijkstra算法,此图的边数比点数的平方要少很多,因此应该使用带堆优化的Dijkstra。
问题描述
给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1...
分类:
其他好文 时间:
2014-05-15 01:33:35
阅读次数:
788