![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论萌萌哒n(*≧▽≦*)
文章平均质量分 80
ThinkingLion
这个作者很懒,什么都没留下…
展开
-
hdu 2255
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2255 中文题:就不翻译了- -。 由题目可知,要求的就是使左右两个集合的最佳匹配,可以用KM算法解决。 主要是第一次用,不熟练,上个模板。 /* * ThinkingLion.cpp * * Created on: 2014年1月29日 * Author: dell原创 2014-11-09 12:53:46 · 398 阅读 · 0 评论 -
poj_1094
题目链接:http://www.cnblogs.com/yueshuqiao/archive/2011/08/16/2140485.html 题目大意:输入n,m,再输入m个关系,问你凭借这m个关系,是否能按所给顺序输出字母表中前n个字母。 其中有三种情况: 1.能够按输入输出前n个字母。 2.原关系中存在环(比如A>B,B>A) 3.所给关系太少,不能确定前n个字母的大小关系。 还要原创 2015-03-10 10:24:17 · 268 阅读 · 0 评论 -
poj_2485
题目链接:http://poj.org/problem?id=2485 题目大意:求最小生成树中的最大边。用下模板即可。 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //原创 2015-03-09 17:57:43 · 309 阅读 · 0 评论 -
poj_3026
源地址:http://poj.org/problem?id=3026 题意真是不好懂。。 解法倒是不是很难,先用bfs求出任意两个字母之间的最短距离,抽象成一个图中的两个点之间边的权值,然后用最小生成树求其总的权值。 #include #include #include #include #include #include #include #include #include #includ原创 2015-03-09 23:07:49 · 338 阅读 · 0 评论 -
pat_1003
源地址:http://www.patest.cn/contests/pat-a-practise/1003 题目大意就是给你n座城市(编号从0-n-1),m条道路,起点c1,终点c2,然后接下去一行有n个数hands[0]....hands[n-1],代表每座城市有hands[i]个team,每经过一座城市就能收集到那个城市的team,然后接下去m行,每行三个数u,v,c,代表连接城市u和v的道原创 2015-03-28 10:17:30 · 255 阅读 · 0 评论 -
poj_3041
源链接:http://poj.org/problem?id=3041 基本上是纯的 二分图最小点覆盖的问题,即用最少的点来覆盖最多的边,又因为在二分图中 最小点覆盖=最大匹配,则套用一下匈牙利算法的模板即可。 不过注意的是,题中所给的点编号是从1开始的,匹配的时候也要注意先从1开始。 #include #include #include #include #include #include原创 2015-03-10 11:24:16 · 329 阅读 · 0 评论 -
poj_1789
题目链接:http://poj.org/problem?id=1789 题目大意:有n种truck,每种都用一个长度为7的字符串表示,除了原始的第一种truck,之后的truck都是由其中已经存在的某一种truck衍生而来,任意两种truck之间的距离是它们字符串之间不同的字符数量。求每一对有衍生关系的truck(即它们两之间的距离最小)的距离总和。 难点是将其转换为图论的知识,我们发现,对于原创 2015-03-09 17:30:05 · 295 阅读 · 0 评论 -
poj_3020
源链接:http://poj.org/problem?id=3020 题意:给一个h*w大小的地图,用1*2的矩阵来覆盖图中所有'*'的地方,问最少用几个1*2的矩形。 其实就是二分图的最小路径覆盖(即用最少的路覆盖所有的点,并且每个点只被覆盖一次) 但是难在怎么建模。 可以这样:对于每个'*'号,如果它的四周也有个'*',则它们两之间就连一条边,则这条边为无向边。 比如 有两个*号可以原创 2015-03-10 22:30:24 · 285 阅读 · 0 评论 -
poj_1459
源链接:http://poj.org/problem?id=1459 题目大意:一共有n个点,np个发电站,nc个消耗站,m条线路,问从发电站发电,最多能送达的电量是多少? 明显是一个最大流的问题,我们建一个超级源点,与np个发电站相连,容量为发电站的发电量,然后再将m条线路相连,容量为其能传输的最大容量,最后将nc个消耗站与超级终端相连,容量为其能接受的容量。建好图后求一次最大流就好。 在原创 2015-03-11 21:59:10 · 368 阅读 · 0 评论 -
poj_3436
源地址:http://poj.org/problem?id=3436 题目大意就是有n个机器,然后每个机器有2*p+1个参数,第一个参数是这个机器能够处理任务的数量,后p个是这个机器所需要的原料,分别是0,1,2 0代表这个材料不能有,1代表这个材料必须有,2代表这个材料可选,再后p个是该机器生产的产品,0表示不能生产这种原料,1表示能生产。问你怎么安排生产线才能生产最多的东西(这种东西包含所有原创 2015-03-12 16:29:18 · 304 阅读 · 0 评论 -
poj_1125
题目链接:http://poj.org/problem?id=1125 题意好理解。解法也简单,用Floyd即可。 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //#de原创 2015-03-08 21:22:58 · 301 阅读 · 0 评论 -
poj_2240
题目链接:http://poj.org/problem?id=2240 这道题目跟上一道差不多,也是用Floyd就可以,不过要注意下初始化,这里是有实际意义的,比如当i=j时,那么说明是同一种货币,此时的汇率为1.0,否则的话就为0.0,松弛条件是if(price[i][j] #include #include #include #include #include #include #incl原创 2015-03-08 22:02:33 · 247 阅读 · 0 评论 -
hihocoder 1050
求树的直径(即最远的两个节点的距离),原理就是我们从任意一个点u出发,bfs至一个最远的点v,那么可以证明v是树直径上的一点,那么我们再次从v开始bfs一次,能搜到的最远的那个点就是树直径的另外一端,则它们之间的距离就是树的直径。 #include #include #include #include #include #include #include #include #include #i原创 2015-01-22 18:05:28 · 290 阅读 · 0 评论 -
uva11419
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=560&page=show_problem&problem=2414 题目大意:原创 2014-11-19 09:06:29 · 491 阅读 · 0 评论 -
uva12083
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=560&page=show_problem&problem=3235原创 2014-11-19 14:07:02 · 402 阅读 · 0 评论 -
uva 1201
题目链接: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=560&problem=3642&mosmsg=Submission+received+with+ID+14567822 201 大白书:357页。 模型:最小路径覆盖 定义:原创 2014-11-22 12:11:04 · 336 阅读 · 0 评论 -
poj 2914
题目链接:http://poj.org/problem?id=2914 题意就叫你求zui原创 2014-11-24 16:36:19 · 414 阅读 · 0 评论 -
uva 11248
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=565&page=show_problem&problem=2205 题意:见大白书368页 要注意的地方在大白书上面也都说了,不过做的时候被求割点卡了。。之前没做过- -。长了见识。 求割的那部分是这样的:因为最后已经走不过去原创 2014-11-25 22:27:58 · 481 阅读 · 0 评论 -
poj_1860
题目链接:http://poj.org/problem?id=1860 题目大意:有n种货币,有m种兑换关系,初始时拥有第s种货币的价值为v,对于每一种关系,都给出a,b,rab,cab,rba,cba,代表a中货币对b种货币的兑换率为rab,需要手续费cab(假设a的价值为Va,那么兑换成b后,b的价值为(Va-cab)*rab),和b对a的兑换率为rba,需要手续费cba。问从第s种货币开始原创 2015-02-02 15:54:32 · 240 阅读 · 0 评论 -
poj_3259
题目链接:http://poj.org/problem?id=3259 题目大意不好解释,化成模型就是找图中是否存在负权回路,用Bellmanford就可以。 题中有说存在重边,我们要取短的那一个,其实在加边时不用管,因为在 松弛操作时,长的边自然就被更新成短的边了。 #include #include #include #include #include #include #include原创 2015-02-04 10:59:14 · 288 阅读 · 0 评论 -
poj_1062
题目链接:http://poj.org/problem?id=1062 题目大意比较好理解。但是想起来不好想。。 此题是最短路的应用,关键就在于怎么建模。 首先,我们知道终点的编号,为1.至于起点,我们可以自己虚拟一个,为0.这样,我们可以把所有物品的原价看做是起点到它们之间一个路的权值,而替代关系则可看做两个点之间的边的权值。还有题目中说的与地位低的人交易后,就不能与地位高的人交易原创 2015-02-04 14:15:59 · 264 阅读 · 0 评论 -
poj_2253
题目链接:http://poj.org/problem?id=2253 题目大意告诉你起点和终点的编号,以及任何点的坐标,这样我们就知道了任意两点之间的距离。我们要求的是任意一条能够从起点到终点的路的最大边。 刚开始想用搜索来着。。结果写混乱了。。 这是最短路的变形,我们平常的 dis[i]代表从起点到i的最短路,这里dis[i]我们代表从1到第i个点路径上的最大边,那么只要把松弛操作的地方原创 2015-02-04 16:03:24 · 302 阅读 · 0 评论 -
poj_2031
源地址:http://poj.org/problem?id=2031 题目大意是有n个球,下面有n行,分别是每个球的x,y,z坐标和半径,叫你求将所有球连起来所需的最短长度。 两个球之间的距离被定义为求表面之间的距离,即x1*x2+y1*y2+z1*z2-r1-r2,如果两个球之间表面有接触,那么它们之间的距离就为0.题目求的其实就是最小生成树,知道题意了就不难。 #include #inc原创 2015-04-03 13:58:08 · 344 阅读 · 0 评论