HDU 6181:Two Paths(次短路)】的更多相关文章

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6181 题意:给一个图,求出次短路. 解法:我之前的模板不能解决这种图,就是最短路和次短路相等的情况,证明这题数据还是水了.下来我修改了一下次短路的,就可以避免这种情况了.提供一个sample 4 4 (1,2,1)( 1, 3,1) (2 4,1) (3 ,4,1).这组的正确答案是2,算法就来看代码吧. #include <bits/stdc++.h> using namespace std;…
题意:求次短路. 分析:关键是情况讨论. LL tmpd = x.d + e.dist; 以下情况对应的更新结果 1.tmpd(2) < 最短路(3) < 次短路(4)-------> 最短路 = 2,次短路 = 3 2.tmpd(2) = 最短路(2) < 次短路(3)-------> 最短路 = 2,次短路 = 2 3.最短路(2) < tmpd(3) < 次短路(4)-------> 最短路 = 2,次短路 = 3 #include<cstdio…
这是一道次短路的题 但是本题有两个坑 注意边权的范围,一定要在所有与距离有关的地方开 long long 本题所求的并不是次短路,而是与最短路不同的最短的路径,如果最短路不止一条,那么就输出最短路的长度 #include <iostream> #include <cstdio> #include <cstring> #include <cstring> #include <algorithm> #include <queue> usi…
Two Paths Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 153428/153428 K (Java/Others) Total Submission(s): 2184 Accepted Submission(s): 856 Problem Description You are given a undirected graph with n nodes (numbered from 1 to n) and m edges. A…
[链接]http://acm.hdu.edu.cn/showproblem.php?pid=6181 [题意] 让你求从1到n的次短路 [题解] 模板题; 因为点可以重复走; 则一定会有次短路. dijkstra算法+优先队列优化一下就好. [错的次数] 11+ [反思] 在写优先队列的时候,节点和路径长度写反了..应该节点写在后面才行的.. [代码] #include <bits/stdc++.h> using namespace std; #define lson l,m,rt<&l…
Two Paths Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 153428/153428 K (Java/Others)Total Submission(s): 525    Accepted Submission(s): 265 Problem Description You are given a undirected graph with n nodes (numbered from 1 to n) and m edge…
题目链接 题意 给出n个点m条边的无向图,求次短路. 思路 和 POJ 2449 类似,只不过大小要开成long long. #include <bits/stdc++.h> using namespace std; typedef long long LL; const int N = 100011; const int INF = 0x3f; struct Edge { int v, nxt; LL w; } edge[N*2]; struct Node { int u; LL g, h;…
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5294 题意: 给你个无向图: 1.求最少删除几条边就能破坏节点1到节点n的最短路径, 2.最多能删除多少条边同时保证1到n的最短距离不变. 题解: 首先用spfa或dijcstra跑出所有最短路组成的DAG图. 用这个图跑最大流节能解决第一个问题,用这个图跑一遍bfs最短路就能解决第二个问题. 然而我在跑最大流的时候竟然把DAG图建成双向的了orz.. 代码: #include<iostream>…
http://acm.hdu.edu.cn/showproblem.php?pid=5889 题意: 给出一个图,帝国将军位于1处,敌军位于n处,敌军会选择最短路到达1点.现在帝国将军要在路径上放置障碍,每条边上都有一个放置障碍的代价.求至少需要多少代价. 思路: 首先就是求最短路,然后将最短路上的边重新进行构图跑最小割即可. 一开始求了两遍bfs,分别求出起点到各个点的距离和终点到各个点的距离,然后去判断每条边是否在最短路中,但是这样的话在最大流的构图中无法确定方向,然后就一直Wa... 其实…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5521 题意:有1-n共n个点,给出m个块(完全图),并知道块内各点之间互相到达花费时间均为ti.已知两人分别在点1和点n,求在哪些点相遇能使得花费时间最短.题解:显然先想到从点1和点n分别求最短路,然后枚举点找出哪些点是相遇花费时间最少的.但是这题边太多了,假设一个完全图里有x个点,那边就有x*(x-1)/2条了,必须化简其边.一个可行的办法是给每个完全图增加两个点,分别为入点和出点,入点向其中的点…