图论
ao-奥
这个作者很懒,什么都没留下…
展开
-
HDU 3829 Cat VS Dog 最大独立集
http://acm.hdu.edu.cn/showproblem.php?pid=3829题解:将学生复制一份,然后求最大匹配除以二代码:#include<cstdio>#include<iostream>#include<cstring>#define maxn 505using namespace std;int n,m,p;in...原创 2018-08-28 18:14:57 · 89 阅读 · 0 评论 -
pta-L3-011 直捣黄龙 dijkstra
题目题意:求最短路,同等长度下取经过最多城镇的,同等城镇数下取杀敌最多的。输出最短路径数,最短距离,杀敌数。题解:和L2的紧急救援非常类似。三角更新的时候分类讨论即可。输出是倒序可以用函数递归输出。地名因为是三个大写字母所以用26进制表示,然后开数组存一下对应关系就好了。代码:#include <iostream>#include<cstdio...原创 2019-02-11 21:15:07 · 889 阅读 · 0 评论 -
pta-L3-008 喊山 BFS
题目题解:BFS,我没考虑相同输出最小居然也水过……代码:#include <iostream>#include<cstdio>#include<queue>#include<cstring>using namespace std;const int maxn = 1e4+5;const int maxm = 1e5;bo...原创 2019-02-08 14:21:44 · 736 阅读 · 0 评论 -
pta-top 1008 Airline Routes
题目题解:裸的tarjan代码:#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>using namespace std;const int maxn = 1e4+10;const int maxm =6e4+10;struct ed...原创 2019-01-23 16:56:50 · 263 阅读 · 0 评论 -
pat-top 1001 Battle Over Cities - Hard Version
题目 题意:给一张图,图上有好的路和坏的路,坏的路修复需要代价,将一个点移除,如果要保证其他点联通,有可能需要修复坏的路,问哪些点被移除产生的代价最大。 题解:n次最小生成树,把好的路视为0花费的路加入就可以了。但是要注意,有可能修复所有的路仍然不连通,这种情况的花费应视为无限大。代码:#include <iostream>#include<cstdio&...原创 2019-01-23 16:47:00 · 419 阅读 · 0 评论 -
POJ 2186 Popular Cows
http://poj.org/problem?id=2186题意:有向图求能被所有其他点到达的点的个数。题解:强连通缩点,求出度为0的分量,如果只有一个输出分量大小,如果大于一个,则这两个分量不连通,不存在这样的点。代码:#include <iostream>#include<cstdio>#include<stack>#include&...原创 2018-09-29 20:12:23 · 227 阅读 · 0 评论 -
HDU 2121 Ice_cream’s world II 最小树形图
https://cn.vjudge.net/problem/HDU-2121题解:首都在的地方在进行朱刘算法的时候注意不要改变边的序号。代码:#include <iostream>#include<cstdio>#include<cmath>#include<cstring>using namespace std;const ...原创 2018-09-07 17:00:32 · 135 阅读 · 0 评论 -
HDU 4408 Minimum Spanning Tree 最小生成树计数
http://acm.hdu.edu.cn/showproblem.php?pid=4408题意:求最小生成树个数题解:对于Kruskal算法,我们发现,最小生成树要想用多种方法就要有长度相同的边。而且,我们发现,kruskal处理完长度所有为c1的边之后,他的结果就是用长度为c1的边生成了一棵树,而且这棵树对于下面的影响都是一样的,因为只有效果重复的边才不会被加入集合,所以我们只需要记录...原创 2018-09-12 20:45:24 · 223 阅读 · 0 评论 -
HDU 4081 生成树
http://acm.hdu.edu.cn/showproblem.php?pid=4081题意:给定点坐标求最小生成树,可以让一条路距离变为0,现在要使得选择的这条路端点点权之和/这条路为0的最小生成树边权之和的值最大。题解:求次小生成树后产生数组length[x][y]表示从x到y走最小生成树途中经过的最长的一条边。然后枚举每条边,就可以了。代码:#include <i...原创 2018-09-06 19:42:36 · 215 阅读 · 0 评论 -
POJ 1679 The Unique MST 生成树
http://bailian.openjudge.cn/practice/1679题解:次小生成树。代码:#include <iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn = 10...原创 2018-09-05 21:28:52 · 147 阅读 · 0 评论 -
HDU 4305 Lightning 生成树计数
http://acm.hdu.edu.cn/showproblem.php?pid=4305题意:距离小于r可以联通,但是中间不能被挡住。代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn =305;const ll mode =1e4+7;str...原创 2018-09-11 23:03:26 · 168 阅读 · 0 评论 -
ural 1627 Join 生成树计数
http://acm.timus.ru/problem.aspx?space=1&num=1627生成树计数模板#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 105;const int mode= 1e9;ll a[maxn][maxn];...原创 2018-09-11 21:17:20 · 156 阅读 · 0 评论 -
pta-L3-007 天体地图 最短路
题目题意:最短时间的路若相同取最短距离,最短距离若相同取最小途径数。我一开始看成了最短时间求最小距离,最小距离求最短时间,疯狂WA,然后有500个点,并且边也非常多。题解:dijkstra变形,和直捣黄龙,紧急救援差不多。代码:#include <iostream>#include<queue>#include<cstdio>#inc...原创 2019-02-12 19:16:27 · 640 阅读 · 0 评论