图论
Infinity_Izayoi
这个作者很懒,什么都没留下…
展开
-
HDU - 2444 The Accomodation of Students(判断二分图 + 二分图匹配)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2444题目大意:给出n个点m条边,问是否可以建立二分图,如果可以的话输出最大匹配。题解:利用匈牙利算法计算最大匹配,利用染色法计算是否为2分图AC代码:#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>原创 2016-07-18 16:35:24 · 270 阅读 · 0 评论 -
poj 1062 昂贵的聘礼(最短路dijkstra)
acm图论原创 2017-02-15 15:21:41 · 328 阅读 · 0 评论 -
zoj 3781 Paint the Grid Reloaded(前向星+缩点+最短路)
图论原创 2017-02-20 17:15:23 · 504 阅读 · 0 评论 -
POJ 3041 Asteroids(匈牙利算法)
题目链接:http://poj.org/problem?id=3041题意:给一张图,每次可以消灭一行或一列的小行星,问最少射击多少次可以消灭所有小行星。题解:可以理解为最大匹配问题,即同一行或者同一列只能有一个小行星,问最多可以放多少小行星。AC代码:#include <iostream>#include <algorithm>#include <cstdio>#include <cstri原创 2016-09-17 10:46:24 · 458 阅读 · 0 评论 -
POJ 1094(拓扑排序 + 判断是否有环 + 是否有唯一解)
题目链接:http://poj.org/problem?id=1094题意:给出一连串关系,判断3个问题: 1.有唯一解并输出 2.是否有环 3.没有唯一解注意1,3还要输出在第几个关系可以判断出来,可知3需要判断到最后,而1可能不需要。AC代码:#include <iostream>#include <algorithm>#include <cstring>#include <cstd原创 2016-09-15 21:28:54 · 659 阅读 · 0 评论 -
POJ 1125 Stockbroker Grapevine(spfa)
题目链接:http://poj.org/problem?id=1125题意:这道题题意比较难理解,于是我根据题目数据YY了一下,题目是给出每个点到其他点的时间,求出遍历所有点后,到达最远点时所花的时间以及出发点,这道题和HDU 4460比较相似,但是HDU 4460数据后来加强了,至今还是T。题解:n次SPFA即可。AC代码:#include <iostream>#include <cstdio>原创 2016-08-28 17:33:16 · 396 阅读 · 0 评论 -
HDU 1217 Arbitrage(floyd)
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1217题意:给出一些货币的汇率,求能不能套利润。题解:此题可以转化为求最短路,只是最短路的求法变成了乘法,而且此题不可以使用dijstra,因为<1时就相当于加法里的负权环了,还要注意使用floyd时不可以加上i!=j!=k的条件,因为最后是要回到原点的。AC代码:#include <iost原创 2016-08-28 17:29:22 · 398 阅读 · 0 评论 -
Gym 100792K King's Rout(拓扑排序)
题目链接:http://codeforces.com/gym/100792/problem/K题解:按照题目要求,拓扑排序后要求小数尽量靠前,所以倒着拓扑排序,使用一个优先队列,最后倒数输出就可以了。AC代码:#include <iostream>#include <cstdio>#include <cstring>#include <queue>using namespace std;i原创 2016-08-18 10:59:14 · 505 阅读 · 0 评论 -
POJ 3013 Big Christmas Tree(SPFA)
题目链接:http://poj.org/problem?id=3013题意:给你一颗树,每棵子树的造价 = 子树上所有节点的和 * 子树和父亲节点的权值。求最小造价,如果不能造出来输出No Answer。题解:其实这颗树的造价就是源点1到每个点的距离与每个点的造价的乘积。故可以转化成最短路求解,求单源最短路可以使用SPFA求。AC代码:#include <iostream>#include <al原创 2016-08-28 10:57:42 · 413 阅读 · 0 评论 -
POJ 2553 - The Bottom of a Graph(Tarjan + 缩点 + 计算出度)
题目链接:http://poj.org/problem?id=2553题解:Tarjan搞一下,然后缩个点,最后计算一下出度,出度为0的按顺序输出就好了。 贴个大神博客,看了他的讲解我对Tarjan了解加深不少: http://blog.csdn.net/mengxiang000000/article/details/51672725AC代码:#include <iostream>#inclu原创 2016-08-01 21:31:40 · 332 阅读 · 0 评论 -
HDU 1827 - Summer Holiday(Tarjan + 缩点 + 计算入度)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1827题解:与POJ 2553类似,只不过这个是计算入度。AC代码:#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>using namespace std;vector <int> mapp[500原创 2016-08-01 21:33:34 · 396 阅读 · 0 评论 -
POJ 1236 Network of Schools(Tarjan + 缩点 + 计算出度and入度)
题目链接:http://poj.org/problem?id=1236题解:第一个问题很好搞,计算出入度,入度为0的输出就好了。 第二个问题嘛。。。看了大牛博客,才搞懂的,大牛是这么说的:“将这个图的所有子树找出来,然后将一棵子树的叶子结点(出度为0)连到另外一棵子树的根结点上(入度为0),这样将所有的叶子结点和根节点全部消掉之后,就可以得到一整个强连通分量,看最少多少条边,这样就是看叶子结点和根原创 2016-08-01 21:35:59 · 333 阅读 · 0 评论 -
HDU 3062 - Party (2 - SAT)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3062题解:Tarjan缩点后,观察是否有夫妻同时被染上了同一种颜色,有就NO没有就YES。 贴一下自己学习2 - SAT时看的大神博客: http://blog.csdn.net/jarjingx/article/details/8521690AC代码:#include <iostream>#in原创 2016-08-02 10:56:59 · 356 阅读 · 0 评论 -
HDU 1814 - 和平委员会(2-SAT)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1814题解:开始想用Tarjan缩点后拓扑排序搞定,后来怎么也不会输出最小字典序比较尴尬。。。最后还是学习了别人的暴力搜索2-SAT搞定了。。。AC代码:#include <iostream>#include <cstdio>#include <algorithm>#include <cstring原创 2016-08-04 20:35:27 · 915 阅读 · 0 评论 -
POJ 3648 Wedding (Tarjan + 缩点 + 拓扑排序)
题目链接:http://poj.org/problem?id=3648题解:2-SAT问题,不过我用Tarjan + 缩点 + 拓扑排序做的。。。这样可以输出一组可行解,但是我不知道怎么输出字典树最小的解。。比较尴尬。AC代码:#include <iostream>#include <cstdio>#include <algorithm>#include <vector>#include <原创 2016-08-04 20:31:59 · 507 阅读 · 0 评论 -
HDU - 1285 确定比赛名次(拓扑排序)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1285题解:拓扑排序AC代码:#include <iostream>#include <cstdio>#include <cstring>#include <queue>using namespace std;int inDeep[550],n,m;int topo[550],t,G[500]原创 2016-07-18 22:38:07 · 413 阅读 · 0 评论 -
HDU - 1281 - 棋盘游戏(二分图匹配)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1281题解:利用二分图匹配求最大匹配,将棋盘化成一个二分图,横纵坐标分别为左右两团,如果匹配到就说明该点可以放车。然后穷举所有最大匹配找到的边,观察删去该边后最大匹配值是否改变,改变的话即是重要点。#include <iostream>#include <algorithm>#include <cst原创 2016-07-18 22:41:22 · 360 阅读 · 0 评论 -
HDU - 2063 过山车(二分图匹配)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2063题解:二分图匹配模板题。AC代码:#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>using namespace std;int V[505][505];int check[1000];原创 2016-07-18 15:20:55 · 291 阅读 · 0 评论 -
csu 1806(前向星+spfa+自适应辛普森)
最短路+数值运算原创 2017-05-01 16:46:25 · 446 阅读 · 0 评论