Peng Lv

毋意,毋必,毋固,毋我。 言必行,行必果。

导航

统计

随笔分类 -  ACM图论

1 2 下一页

{POJ}{3925}{Minimal Ratio Tree}{最小生成树}
摘要:题意:给定完全无向图,求其中m个子节点,要求Sum(edge)/Sum(node)最小。思路:由于N很小,枚举所有可能的子节点可能情况,然后求MST,memset()在POJ G++里面需要cstring头文件。#include #include #include #include #include... 阅读全文

posted @ 2014-08-18 17:06 Lvpengms 阅读(575) 评论(0) 推荐(0) 编辑

{CSDN}{英雄会}{砍树、石子游戏}
摘要:砍树思路:可以将题目意图转化为:给定一棵树,求其中最接近总权值一半的子树。DFS求每个节点的所有子节点的权值和,遍历每个节点,最接近总权值一半的即为答案。复杂度O(N)。石子游戏:思路:一个Nim博弈问题,寻找一个局面的平衡状态,由于是多堆石子,参看Nim博弈的相关理论。 阅读全文

posted @ 2014-08-14 15:02 Lvpengms 阅读(306) 评论(0) 推荐(0) 编辑

{POJ}{4000}{National Treasures}{二分匹配}
摘要:思路:观察宝物周围的keypoints与宝物位置的距离是奇数,也就转化成为染色问题,将图进行染色,黑色与白色之间构成二分图,求最小边覆盖即可。一道经典的染色转化问题。#include <iostream>#include <string>#include <cstring>#include <cstdio>#include <algorithm>#include <memory>#include <cmath>#include <bitset>#include <queue>#inclu 阅读全文

posted @ 2012-05-19 14:02 Lvpengms 阅读(638) 评论(0) 推荐(1) 编辑

{POJ}{2421}{Constructing Roads}{Prim}
摘要:基本MST思路#include<iostream>using namespace std;#define MAX 10000#define INF 999999int g[MAX][MAX],visit[MAX],dist[MAX];int nv,ne,sum;int prim(){ int i,j,tmp,mark_pos,mark_min; sum = 0; for(i = 1;i<=nv;++i) { dist[i] = INF; visit[i] = 0; } dist[1] = 0; for(i=1;i<=nv;++i) { mark_min = INF; f 阅读全文

posted @ 2012-05-17 09:45 Lvpengms 阅读(265) 评论(0) 推荐(0) 编辑

POJ 2584 T-Shirt Gumbo(最大流)
摘要:题意:有n个同学要求订购衣服,每个同学可以接收的衣服型号已知(一个人一件衣服),现在每个型号的衣服数量已知,问能不能满足同学的要求?思路:可行性问题,此题方法很多,多重二分匹配、BFS等,我偷懒用了最大流,BS我吧.......还是说下建图过程吧,增加源汇点s,t,每个同学与其所接受的型号连一条1的边,s与同学连INF边,型号和t连val (val 是此型号的数量),然后求最大流......[代码... 阅读全文

posted @ 2010-08-11 18:15 Lvpengms 阅读(580) 评论(0) 推荐(0) 编辑

POJ 2289 Jamie's Contact Groups (二分答案+匹配流)
摘要:题意:Jamie有很多联系人,但是很不方便管理,他想把这些联系人分成组,已知这些联系人可以被分到哪个组中去,而且要求每个组的联系人上限最小,即有一整数k,使每个组的联系人数都不大于k,问这个k最小是多少?思路:这个题很像以前的那个星际战舰的那个题,一般就是二分答案,对每一个值进行建图,求最大流,查看这个最大流是否等于总人数,虽然比较繁琐,但是思路还是很清晰的,之后就是SAP模板了......(每次... 阅读全文

posted @ 2010-08-11 18:03 Lvpengms 阅读(713) 评论(0) 推荐(0) 编辑

POJ 3436 ACM Computer Factory (拆点+最大流)
摘要:题意:有n机器要加工部件,每个部件有p个零件,机器加工部件的速度已知,而且其所加工的部件满足机器的要求,0表示这个零件不能有,1表示这个零件必须有,2表示无所谓,又知道一个机器加工后这个部件的组成,问这n台机器一定时间内最多能叫加工多少部件,即部件的状态时从00...0 到11...1?思路:开始大体上感觉是最大流,以前也做过差不多的题目,因为题中对机器的加工速度进行的限制,那么建立流网络时最通用... 阅读全文

posted @ 2010-08-10 18:23 Lvpengms 阅读(685) 评论(0) 推荐(0) 编辑

POJ 3594 Escort of Dr. Who How(最短路+枚举)
摘要:题意:有n个城市道路,每个道路只能再一段区间[b,e]内可行,有给出每条道路的经过时间,问从出发开始时间st到结束最快结束时间en,的差en-st最小是多少。思路:由于出发时间是不定的,当然可以用dfs暴搜,不过复杂度是肯定不能承受的,所以我们可以枚举开始时间start,这样就能对每个路段进行限制,在处理路段时,假如到达一个路段的时间为t0,只有满足下列条件,这条路段才是可行的(不包括c>e... 阅读全文

posted @ 2010-04-29 18:42 Lvpengms 阅读(615) 评论(0) 推荐(0) 编辑

POJ 1062 昂贵的聘礼 (最短路+枚举)
摘要:题意:给定n个物品的关系和等级限制,问再等级限制之内,最少花多少钱能到达第一种物品。思路:一年前做的题,那时死活不会做,现在看看能想到枚举了,(枚举变量+各种算法)现在很常见了,枚举可行的等级区间,对每个区间求最短路+heap,O(mnlogn)的复杂度,还是能过的,又偷懒了,用priority_queue.....[代码] 阅读全文

posted @ 2010-04-29 18:28 Lvpengms 阅读(687) 评论(0) 推荐(0) 编辑

POJ 3653 Here We Go(relians) Again (最短路)
摘要:题意:给定(n+1)*(m+1)个点,在构成的有向图中,每条边的值为极限速度,每段边长度为LEN,求从起点到终点的最短距离。思路:没什么技巧,就是最短路算法,把二维点hash到一维就可以了n*k+m,输入时还是需要注意一些小细节,由于数据量不大,O(n^2)的dij就可以,16ms,用priority_queue优化就可以0ms了。O(nlgn):[代码]O(n^2):[代码] 阅读全文

posted @ 2010-04-28 17:59 Lvpengms 阅读(649) 评论(0) 推荐(0) 编辑

POJ 1236 Network of Schools (强连通+缩点)
摘要:ft........这个题开始想错了,无限WA,后来看了DIS才知道,自己完全错了,这个题做的很郁闷........努力啊不会Tarjan,丢人了,贴个连接,抓紧学习。http://www.byvoid.com/blog/scc-tarjan/[代码] 阅读全文

posted @ 2010-04-27 18:46 Lvpengms 阅读(448) 评论(0) 推荐(0) 编辑

POJ 2553 The Bottom of a Graph (强连通分量+缩点)
摘要:题意:给定n个点和他们的有向关系,求出这个有向图中所有的sink点,sink点定义:如果一个点u为sink点,那么他所有能到达的点v,也能有一条通路v->u存在。思路:根据sink点的定义,我们很容易想到了强连通分量,但是思考如下情形:如果强连通分支A中有一点u,可以到到强连通分支B中的一点v,由强连通分支定义,v肯定无法到达u,那么A中所有的就不是sink点。所以在求完强联通分支后,还要检... 阅读全文

posted @ 2010-04-27 18:36 Lvpengms 阅读(1144) 评论(0) 推荐(0) 编辑

POJ 2570 Fiber Network (传递闭包)
摘要:题意:给定n个城市之间的有向图,每条边是以字母标示的,输出在每条可行线路u->v中,其所经过的每一段线路的相同的字母。思路:由于两点之间有多条线路,所以想到了对每个字母进行floyd,最后集中输出,然后华丽的TLE了.......后来知道可以用位运算优化,汗......没想出来.....然后就可以AC了。[代码]TLE code:[代码] 阅读全文

posted @ 2010-04-27 18:20 Lvpengms 阅读(445) 评论(0) 推荐(0) 编辑

POJ 3687 Labeling Balls (拓扑排序)
摘要:题意:给定m个球的关系,求出具有最小字典序的各个球的重量。思路:拓扑排序,但是不能建正向图,只能建反向图,具体解释见Answeror牛:  http://www.answeror.com/archives/23913PS:图论中的技巧太多,只靠做题感觉是亡羊补牢,只有把理论知识搞透彻,才能真正明白各个题中隐藏的数学原理,向这样正向和反向图中的细微区别也就yin不了人了...[代码] 阅读全文

posted @ 2010-04-24 11:20 Lvpengms 阅读(1418) 评论(0) 推荐(0) 编辑

POJ 3343 Against Mammoths(二分匹配+二分答案)
摘要:题意:(这个题目好长~~~)有n个人类星球,m个外星球,每个星球上开始sh艘飞船,之后每年会生产p艘飞船,人类想要战胜所有的外星球,每个人类星球和每个外星球的距离已知(需要耗费k年),比如在a年初,人类星球H向外星球A宣战,那么人类会带上sh+p*a艘飞船进攻,经过k年后到达外星球,这时外星球飞船的数量为sh'+p'*(a+k),如果这时人类飞船的数量>=外星球飞船的数量,那么就会战胜这个外... 阅读全文

posted @ 2010-04-17 09:54 Lvpengms 阅读(779) 评论(0) 推荐(0) 编辑

POJ 2240 Arbitrage
摘要:/* bellman,加上map,判断是否有负权回路即可* */[代码] 阅读全文

posted @ 2010-02-03 16:19 Lvpengms 阅读(180) 评论(0) 推荐(0) 编辑

POJ 1719 Shooting Contest
摘要:/* 给定一个 r*c 的格子矩阵,有C发子弹,每列格子有2个白色的方块,在1,2,3,...c 列上开枪打白色的格子,打到一个,那么这个白色方块所在的行就算打到了,求怎样打,才能把所有的行全部打到,如果全部打到而且有多余的列,那么这列随便打一个方块就可以了,按列的1,2,3,4......C的顺序,输出要打的行号。很明显的一个二分匹配,普通的二分匹配算法就行了。*/[代码] 阅读全文

posted @ 2010-02-03 16:16 Lvpengms 阅读(512) 评论(0) 推荐(0) 编辑

POJ 1698 Alice's Chance
摘要:/* 一个演员很想参加film,但是一天只能参加一项,且每项必须在规定的几个星期内参加规定的天数,求演员是否能全部完成所有的film档期。 可以考虑用网络流做,加源汇点,如果film_i 和week_i_day_j天有联系,那么就连一条INF边,源点到film_i连一条day_i边,各个星期的天数到汇点连一条1边,求最大流是否和总天数相等。最大流用isap就可以了,非常快。 */[代码] 阅读全文

posted @ 2010-02-03 16:15 Lvpengms 阅读(834) 评论(0) 推荐(0) 编辑

POJ 2139 Six Degrees of Cowvin Bacon(floyd)
摘要:[代码][代码] 阅读全文

posted @ 2010-02-03 16:13 Lvpengms 阅读(926) 评论(0) 推荐(0) 编辑

POJ 2987 Firing (ISAP最小割)
摘要:/* 这个题目建图是关键,具体还是靠自己体会了,需要注意的是结果要用__int64来保存。。*/[代码] 阅读全文

posted @ 2010-02-03 16:12 Lvpengms 阅读(645) 评论(0) 推荐(0) 编辑

1 2 下一页
点击右上角即可分享
微信分享提示