图论
wchhlbt
这个作者很懒,什么都没留下…
展开
-
POJ 1659 青蛙的邻居
poj 1659原创 2016-02-24 19:04:34 · 937 阅读 · 0 评论 -
POJ 1932 XYZZY (差分约束+最长路)
解题思路:按照题目给定条件建图,判断能不能找到一条路到n,在这条路上权值和不会为负数,初始值为100.只需要用spfa跑最长路,遇到正环的时候将当前节点到起点的距离置为 inf 即可。这样可以保证有正环的图一定可以得到解。这道题的代码需要注意一些细节和剪枝。AC代码:/** @Author: wchhlbt* @Last Modified time: 2017-09-20*/原创 2017-09-20 21:07:08 · 326 阅读 · 0 评论 -
hdu 2883 kebab (最大流 + 建图)
kebabProblem DescriptionAlmost everyone likes kebabs nowadays (Here a kebab means pieces of meat grilled on a long thin stick). Have you, however, considered about the hardship of a kebab roas原创 2017-10-17 16:50:51 · 226 阅读 · 0 评论 -
hdu 3666 THE MATRIX PROBLEM (差分约束 + 最长路)
解题思路:根据题意可以列出等式 u / xij ≥ ai / bj ≥ l / xij 将这个等式两边取对数,可以转化为差分约束所需要的等式,将 ai bj 建立成为节点,再建立一个超级源点,跑最长路,即满足所有条件的解,找到环则说明无解。因为数据量比较大,所以判环的条件需要减弱一些,我们将节点总数开方进行判断。AC代码:/** @Author: wchhlbt* @L原创 2017-09-21 17:04:50 · 248 阅读 · 0 评论 -
POJ 1149 PIGS (最大流建图)
题目原文:DescriptionMirko works on a pig farm that consists of M locked pig-houses and Mirko can't unlock any pighouse because he doesn't have the keys. Customers come to the farm one after anothe原创 2017-09-30 09:32:31 · 231 阅读 · 0 评论 -
hdu 3605 Escape (最大流+状态压缩)
EscapeProblem Description2012 If this is the end of the world how to do? I do not know how. But now scientists have found that some stars, who can live, but some people do not fit to live so原创 2017-09-30 22:37:04 · 313 阅读 · 0 评论 -
hdu 4183 Pahom on Water (最大流)
Pahom on WaterProblem DescriptionPahom on Water is an interactive computer game inspired by a short story of Leo Tolstoy about a poor man who, in his lust for land, forfeits everything. The ga原创 2017-10-18 15:33:24 · 262 阅读 · 0 评论 -
ZOJ 1992 Sightseeing Tour(混合图欧拉回路)
解题思路:对于单独的无向图和有向图欧拉回路的判定都可以单独通过对每个点度的分析得到。而混合图欧拉回路的判定就涉及到网络流算法了。因为如果存在欧拉回路,那么无向边最后一定被指定了一个方向,所以我们不妨先给每条无向边假定一个方向。最后欧拉回路一定是把当前这个图中若干条无向边的方向改变得到的。此时的图变为有向图,最后要满足每个点入度出度相等。我们发现改变一条边的方向,不会改变一个点的 入原创 2017-11-07 20:33:57 · 254 阅读 · 0 评论 -
codeforces 876E National Property (建图)
题目原文:E. National Propertytime limit per test1 secondmemory limit per test512 megabytesinputstandard inputoutputstandard outputYou all know that the Librar原创 2017-10-26 20:23:28 · 342 阅读 · 0 评论 -
POJ 1364 King (差分约束)
解题思路:如果不能构造出这个数列,那么一定存在两个表达式互相矛盾,例如: s[3] - s[1] >= 3 && s[3]-s[1]在图内表现的效果就是存在环,最长路则存在正环,最短路则存在负环。SPFA求最长路判环即可,注意添加超级源点,把图变成连通图。AC代码:/** @Author: wchhlbt* @Last Modified time: 2017-09-20原创 2017-09-20 18:44:29 · 204 阅读 · 0 评论 -
POJ 3169 Layout (差分约束)
解题思路:很标准的差分约束题目,根据题意列出不等式,并将所有的不等式转化为 ≤ 形式,然后跑最短路即可。AC代码:/** @Author: wchhlbt* @Last Modified time: 2017-09-19*/#include #include #include #include #include #include #include #include原创 2017-09-19 12:15:52 · 367 阅读 · 0 评论 -
ZOJ 1525 Air Raid (有向图最小路径覆盖 + 理解)
解题思路:有向无环图最小路径覆盖数 = 顶点个数 - 最大匹配数理解方法:先对有向图拆点,把 n 个顶点分成入顶点和出顶点,然后将对应的有向边连在这个二分图上面,可以发现有向图上的一条路径,变为了这个二分图上顶点无交集的几条边,而这条路径上边的数量等于路径上顶点数-1,先考路所有的路径没有交集的情况,这种条件下,减去最大匹配,其实就相当于每条路径只留下一个顶点代表,所以就是最小路径覆盖数。再考原创 2017-08-04 20:13:35 · 501 阅读 · 0 评论 -
hdu 1863 畅通工程 (最小生成树)
解题思路:这道题做了两次,第一次做的时候还不知道有最小生成树这种东西,以为是最短路问题,就顺着思路想,不过并没有什么结果,当时误打误撞想出了一种这种问题的解法,就是每次选取能够让这棵树延长的最短的那一条边,不过鉴于算法复杂度过高就没有实现,后来学习了最小生成树算法,现在看来这道题就很直接了,就是一个裸的Kruskal算法。这个算法的核心就在于每次选取一条既不能使图形成回路又是最短的边,也就是一个并原创 2016-07-10 22:49:23 · 428 阅读 · 0 评论 -
codeforces 788B Weird journey (欧拉路)
题目原文:http://codeforces.com/problemset/problem/788/BB. Weird journeyLittle boy Igor wants to become a traveller. At first, he decided to visit all the cities of his motherland — Uzhlyandia.原创 2017-03-31 17:55:55 · 923 阅读 · 0 评论 -
POJ 2513 Colored Sticks (Trie + 并查集 + 欧拉通路)
题目大意:http://poj.org/problem?id=2513You are given a bunch of wooden sticks. Each endpoint of each stick is colored with some color. Is it possible to align the sticks in a straight line such that the原创 2017-04-18 20:05:01 · 439 阅读 · 0 评论 -
POJ 1144 Network (割顶)
解题思路:裸的求割顶,细节见代码AC代码:/* @Author: wchhlbt @Date: 2017/5/24*///#include #include #include #include #include #include #include #include #include #include #include #include #in原创 2017-05-24 12:06:38 · 284 阅读 · 0 评论 -
ZOJ 1364 Machine Schedule (二分图最大匹配)
解题思路:二分图最大匹配模板题 每一个任务在AB两种机器模式上连边,最小点覆盖数 = 最大匹配数AC代码:/* @Author: wchhlbt @Date: 2017/7/31*/#include #define Fori(x) for(int i=0;i<x;i++)#define Forj(x) for(int j=0;j<x;j++)#define原创 2017-07-31 23:15:11 · 479 阅读 · 0 评论 -
hdu 6060 RXD and dividing (树 + 贪心)
解题思路:考虑每一条边权在最大花费中的贡献,因为最多有k个点集,所以一条边最多被统计k次,每条边被统计的次数跟这条边下端节点这棵子树的大小有关,因为这棵子树上的每个点都可以分到不同的k个集合,能分出去多少点就会被统计几次。AC代码:/* @Author: wchhlbt @Date: 2017/8/2*/#include #define Fori(x) for(原创 2017-08-02 21:23:33 · 366 阅读 · 0 评论 -
ZOJ 1516 Uncle Tom's Inherited Land (二分图最大匹配)
/* @Author: wchhlbt @Date: 2017/8/3*/#include #define Fori(x) for(int i=0;i<x;i++)#define Forj(x) for(int j=0;j<x;j++)#define maxn 100#define inf 0x3f3f3f3f#define ONES(x) __builtin_原创 2017-08-03 11:55:44 · 460 阅读 · 0 评论 -
ZOJ 1654 Place the Robots (二分图最大匹配)
解题思路:这道题的建图过程略复杂一些,根据题意我们需要考虑空地与空地之间的关系,所以需要把空地和草地分成横向的连续的块(草地可以连续,用墙分割,每一块中至少包含一块空地),和纵向的连续的块,对两种块分别进行编号,然后根据这个编号,对相互有交集的块进行连边,因为连边的的两个块只能取一个,跑二分图最大匹配。AC代码:/* @Author: wchhlbt @Date: 20原创 2017-08-04 16:06:36 · 369 阅读 · 0 评论 -
hdu 1533 Going Home (最小费用流)
解题思路:可以很明显的看出来最小费用流的模型,还可以使用KM算法做。AC代码:/** @Author: wchhlbt* @Last Modified time: 2017-11-20*///#include #include #include #include #include #include #include #include #include #incl原创 2017-11-20 22:10:46 · 305 阅读 · 1 评论