ACM_图论
文章平均质量分 78
奇怪的猪猪
whu,cuhk
展开
-
poj 2769 Reduced ID Numbers
题目地址: http://poj.org/problem?id=2769要点 :1 如果在确定了模数后再在循体里面用双重for循环检测是否存在 同余的一定会超时 需要寻找O(n)复杂度的方法 2一开始想使用map 检测是否重复,结果还是超时 最后还是用类似于筛法的方法,关键点是初始化时只能(也只需要)初始化到k,否则仍会tle#include#includ原创 2013-07-09 17:00:57 · 996 阅读 · 0 评论 -
poj 1789 Truck History 最小生成树
题目地址:poj1789原创 2014-04-30 04:14:52 · 514 阅读 · 0 评论 -
poj 2349 Arctic Network 并查集 连通分支数,二分答案
题目地址:poj2349题目思路:s原创 2014-04-30 05:18:56 · 623 阅读 · 0 评论 -
woj 1542 Countries
题目地址:woj1542题目思路:就是以前做过的cf的D 细菌那一题关键是先用并查集,然后给结点编号。用map映射到0-200以内代码:#include#include#include#includeusing namespace std;#define INF 1000000000int p[100005];int u[100005],v[100005原创 2014-03-31 01:44:34 · 674 阅读 · 0 评论 -
codeforces#237_div2_C Restore Graph
题目地址:cf#237_div2_C题目大意:输入 n,k 告诉你某一个结点到各个结点的最短路(边权值都是1) 问你是否存在一个图,使得每个结点的度数都不超过k;思路:直接构造一棵树 ,一层一层的构造看代码:#include#include#includeusing namespace std;const int maxn=10005原创 2014-03-20 03:05:00 · 526 阅读 · 0 评论 -
hdu 2544 【总结】 Dijkstra,Bellman-Ford ,SPFA 最短路求法及对应优化
题目地址:hdu2544就是直接求最短路 数据很弱 什么方法都可以1 floyd #includeusing namespace std;#define INF 10000009int d[105][105];int n,m;void init(){ for(int i=0;i<n;i++) for(int j=0;j<n;j++)原创 2014-03-19 04:10:21 · 2184 阅读 · 1 评论 -
codeforces#244_div2_C Checkposts 强连通分量,Tarjan
题目地址:cf#244_div2_C原创 2014-05-03 18:43:41 · 748 阅读 · 0 评论 -
大臣的旅费 两遍dfs求树的直径
题目地址:你懂的题干:问题描述很久以前,T王国空前繁荣。为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市。为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大城市都能从首都直接或者通过其他大城市间接到达。同时,如果不重复经过大城市,从首都到达每个大城市的方案都是唯一的。J是T国重要大臣,他巡查于各大城市之间原创 2014-03-22 21:27:09 · 4233 阅读 · 0 评论 -
hdu1874 畅通工程续 最短路
题目地址 : hdu1874原创 2014-04-27 22:44:52 · 526 阅读 · 0 评论 -
poj 1251 Jungle Roads 最小生成树
题目地址:poj1251很裸的最小生成树代码:#include#include#include#include#include#includeusing namespace std;struct edge{ int u; int v; int w; };edge e[1000050];int fa[1005];int原创 2014-04-28 00:42:31 · 579 阅读 · 2 评论 -
hdu 1875 畅通工程再续 最小生成树
题目地址:hdu1875原创 2014-04-27 23:18:39 · 494 阅读 · 0 评论 -
poj 1287 Networking 最小生成树
题目地址:poj1287原创 2014-04-28 00:53:55 · 578 阅读 · 0 评论 -
zoj 1586 Sunny Cup 2003 - Preliminary Round 最小生成树
题目地址:zoj1586原创 2014-04-27 23:48:04 · 605 阅读 · 0 评论 -
poj 2031 Building a Space Station 最小生成树
题目地址:poj2031原创 2014-04-30 03:15:47 · 467 阅读 · 0 评论 -
安慰奶牛 最小生成树
题目来源...渣渣oj你懂的题干:问题描述Farmer John变得非常懒,他不想再继续维护供奶牛之间供通行的道路。道路被用来连接N个牧场,牧场被连续地编号为1到N。每一个牧场都是一个奶牛的家。FJ计划除去P条道路中尽可能多的道路,但是还要保持牧场之间 的连通性。你首先要决定那些道路是需要保留的N-1条道路。第j条双向道路连接了牧场Sj和Ej(1 j <= N; 1原创 2014-03-17 17:14:14 · 1468 阅读 · 0 评论 -
hdu 1878 欧拉回路,图的连通性判断
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1878判断图上是否有欧拉回路,首先要求是连通图,然后每个顶点的度数必须都为偶数(如果存在两个顶点度数为奇数则是存在欧拉通路)用dfs求连通分支的个数代码:#include#include#include#includeusing namespace std;vector G[原创 2013-09-05 23:08:39 · 1879 阅读 · 0 评论 -
hdu 1233 还是畅通工程 Kruskal 最小生成树 并查集
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=1233模板题,kruskal求最小生成树。 并查集是个好东西啊 就是注意一点 输入边的信息时,角标应该是从0开始的代码:#include#include#includeusing namespace std;struct edge{ int u; int v;原创 2013-09-09 21:00:09 · 676 阅读 · 0 评论 -
hdu 1232 畅通工程 求连通分支数
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=1232直接求连通分支数,有重边不影响dfs 代码:#include#include#include#includeusing namespace std;vector G[1000];int maxn;bool vis[1000];void dfs(int u){原创 2013-09-09 17:02:21 · 748 阅读 · 0 评论 -
2013吉林通化邀请赛 1004 D-City 并查集求连通分支数
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4496将题目要查询的数倒过来求,先加一条边,保存cc(连通分支数) 然后再加一条边....当合并两个等价类的时候连通分支减1代码:#include#include#include#includeusing namespace std;int p[10000];int u[原创 2013-09-09 23:00:42 · 1491 阅读 · 0 评论 -
LA 3644 X-Plosives (Europe - Southwestern - 2006/2007)
题目地址: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1645思路: 图论模型化,种类数就是点,对数就是边, 要求始终不存在子图使点数等于边数,就是不允许有环,使用并查集即可。代码:#include#include#原创 2013-09-24 21:43:04 · 531 阅读 · 0 评论 -
2013杭电warm up1 1002 Pet 求树结点的高度(bfs,dfs两种求法)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4707题目给出一颗树,要求求出深度大于D的结点的个数。有两种方法,改写dfs,给一个参数放层数(额,其实这里不需要转化为有根树,多于了)代码:#include#include#include#includeusing namespace std;#define maxn原创 2013-09-18 00:17:14 · 1001 阅读 · 0 评论 -
hdu 1690 Bus System Floyd 求最短路径
题目地址: hdu1690给你一些车站,问这些车站之间的最“短”(费用最少)路径。结点个数100 直接用floyd比较坑的是,给的坐标并没有按升序 还要用abs wa了很多次#include#includeusing namespace std;#define INF 1000000000000000000LLtypedef long long inta原创 2014-03-11 22:29:46 · 622 阅读 · 0 评论 -
codeforces#234_div2_D Dima and Bacteria floyd+并查集
题目地址:cf#234_div2_D原创 2014-03-12 00:45:10 · 843 阅读 · 0 评论 -
LA 3644 X-Plosives
题目地址:LA3644额 观察出化合物实际上是一种二元关系然后k中化合物,k种元素实际上是一个环。那就是裸的并查集了记得每次输出ans后还原初始化代码;#includeusing namespace std;int p[100005];int find(int x){ return p[x]==x?x:p[x]=find(p[x]);}原创 2014-03-12 01:57:30 · 477 阅读 · 0 评论 -
Regional_2011_H Holiday's Accommodation
题目地址: 1 LA 戳这里 2 hdu 2011_Chengdu_H题目大意: 给你一颗树 ,告诉你每条边的权值,现在每个节点上的人要到其他的地方去,问所有里程加起来最多可以是多少?先估计一下上界:对于每一条边: 它作为割边将图分为两部分,假设这两边的人都尽可能的夸过这条边,这样在这条边上的贡献将达到最大。先转化为有根树后,取2*min(k,n-k) k是原创 2014-03-08 20:42:12 · 557 阅读 · 0 评论 -
codeforces#236_div2_C Searching for Graph
题目地址:cf#236_div2_C题目意思:给你n,p 要你构造一个有2n+p条边的图,使得,每一个含k个结点子图中,最多有2*k+p条边。额,比赛的时候根据样例yy的代码:#include#includeusing namespace std;struct node{ int a; int b; };vector v;原创 2014-03-17 03:00:15 · 513 阅读 · 0 评论 -
Bellman-Ford,使用队列优化的Bellman-Ford
题目地址: 某桥杯oj题干:问题描述给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路(顶点从1到n编号)。输入格式第一行两个整数n, m。接下来的m行,每行有三个整数u, v, l,表示u到v有一条长度为l的边。输出格式共n-1行,第i行表示1号点到i+1号点的原创 2014-03-18 01:33:47 · 1328 阅读 · 0 评论 -
hdu 1102 Constructing Roads 最小生成树
题目地址:hdu1102多了一点花样,就是已经修过的路权值就是0了代码:原创 2014-04-28 00:07:26 · 1017 阅读 · 0 评论