ACM —— 图论
文章平均质量分 61
Konjac.k
这个作者很懒,什么都没留下…
展开
-
HDU 5137 How Many Maos Does the Guanxi Worth(最短路)
题目:点击打开链接 题意:一个人要从1走到n,你的任务是尽可能的阻止他,通过1到n之间删除某一个点(不包括起点1和终点n),如果能够通过删除一个点使得这个人走不到n,则输出Inf;不能,则尽可能让这个人花费大的价值走到n(当然这个人肯定不傻他会选择最短路去走),输出这个最大价值。 思路:每次删除一个点,即给与该点相关的所有边的权值赋值为inf,然后进行一遍dijkstra最短路,更新最短路的最原创 2017-07-31 12:56:20 · 205 阅读 · 0 评论 -
HDU 6166 Senior Pan(思维 最短路)
题目:点击打开链接 题意:给一个有向图,n个点,m条边。给k个其中的点,求这k个点相互之间的路径值的最小值是多少。 思路:如果是暴力枚举这k个点到其他k-1个点的最短路取最小值一定是超时的。 正确做法是每次将k个点划分成两个集合,求这两个集合的最短路,取最小值。划分的方法应该保证这k个点均相互求过最短路,且划分次数不应太多以免超时。 这道题最难想到的是对这k个点进行划分,这里方法是这样的:原创 2017-08-23 17:03:39 · 355 阅读 · 0 评论 -
Dijkstra模板[kuangbin]
#include <bits/stdc++.h> using namespace std; /* * 使用优先队列优化Dijkstra算法 * 复杂度O(ElogE) * 注意对vector<Edge>E[MAXN]进行初始化后加边 */ const int INF=0x3f3f3f3f; const int MAXN=1000010; struct qnode...原创 2017-08-24 10:16:28 · 1046 阅读 · 0 评论