poj图论总结.docx

上传人:b****6 文档编号:7199962 上传时间:2023-01-21 格式:DOCX 页数:14 大小:22.44KB
下载 相关 举报
poj图论总结.docx_第1页
第1页 / 共14页
poj图论总结.docx_第2页
第2页 / 共14页
poj图论总结.docx_第3页
第3页 / 共14页
poj图论总结.docx_第4页
第4页 / 共14页
poj图论总结.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

poj图论总结.docx

《poj图论总结.docx》由会员分享,可在线阅读,更多相关《poj图论总结.docx(14页珍藏版)》请在冰豆网上搜索。

poj图论总结.docx

poj图论总结

POJ图论分类【转】

  一个很不错的图论分类,非常感谢原版的作者!

  这个分类主要是POJ上面的题目,也包括了zoj、sgu、spoj等oj上的题。

寒假的时候已经做的差不多了。

现在准备写一些文章,来总结寒假时学的东西。

  另外,这个分类依然欠缺了一些知识点,如欧拉回路、图的可平面化等。

我也会尽量的补充。

  这将是图论最后的补完。

之后我会开始看《具体数学》了。

 

————————————————————————————

POJ图论分类

2009-07-2823:

13

POJ2449Remmarguts’Date(中等)

题意:

经典问题:

K短路

解法:

dijkstra+A*(rec),方法很多

相关:

该题亦放在搜索推荐题中

POJ3013–BigChristmasTree(基础)

题意:

最简单最短路,但此题要过,需要较好的程序速度和,还要注意精度

解法:

Dijkstra

POJ3463–Sightseeing(中等)

题意:

最短路和比最短路大1的路的数量

解法:

需要真正理解dijkstra

POJ3613–CowRelays(较难)

题意:

求经过N条边的最短路

解法:

floyd+倍增,贪心

POJ3621–SightseeingCows(中等)

题意:

求一个环路,欢乐值/总路径最大

解法:

参数搜索+最短路(ms原始的bellmantle,用spfa才过)

POJ3635–fulltank?

(中等)

题意:

最短路变形

解法:

广搜

相关:

生成树问题

基本的生成树就不放上来了

POJ1639–PicnicPlanning(较难)

题意:

顶点度数有限制的最小生成树

解法:

贪心+prim/kruskal

POJ1679–TheUniqueMST(基础)

题意:

判断MST是否唯一

解法:

prim就行,不过还是易错的题

POJ2728–DesertKing(中等)

题意:

所谓最优比率生成树

解法:

参数搜索+prim

POJ3164–CommandNetwork(难)

题意:

最小树形图

解法:

刘朱算法,这个考到的可能性比较小吧?

POJ3522–SlimSpan(基础)

题意:

求一颗生成树,让最大边最小边差值最小

解法:

kruskal活用

连通性,度数,拓扑问题

此类问题主要牵扯到DFS,缩点等技巧

POJ1236–NetworkofSchools(基础)

题意:

问添加多少边可成为完全连通图

解法:

缩点,看度数

POJ1659–Frogs’Neighborhood(基础)

题意:

根据度序列构造图

解法:

贪心,详细证明参见havel定理

POJ2553–TheBottomofaGraph(基础)

POJ2186–PopularCows(基础)

题意:

强连通分量缩点图出度为0的点

POJ2762–Goingfromutovorfromvtou?

(中等)

题意:

单向连通图判定

解法:

缩点+dp找最长链

POJ2914–MinimumCut(难)

题意:

无向图最小割

解法:

Stoer-Wagner算法,用网络流加枚举判定会挂

POJ2942–KnightsoftheRoundTable(难)

题意:

求双联通分量(或称块)中是否含奇圈

解法:

求出双连通分量后做黑白染色进行二分图图判定

相关:

POJ3177–RedundantPaths(中等)

POJ3352–RoadConstruction(中等)

题意:

添加多少条边可成为双向连通图

解法:

把割边分开的不同分量缩点构树,看入度

建议对比下1236,有向图添加多少条边变成强连通图

POJ3249–TestforJob(基础)

解法:

bfs/dfs+dp

POJ3592–InstantaneousTransference(基础)

解法:

缩点,最长路,少人做的水题,注意细节

POJ3687–LabelingBalls(中等)

解法:

拓扑排序

POJ3694–Network(中等)

解法:

双连通分量+并查集

2-SAT问题

此类问题理解合取式的含义就不难

POJ2723–GetLuffyOut(中等)

POJ2749–Buildingroads(较难)

解法:

二分+2-SAT判定

POJ3207–Ikki’sStoryIV–Panda’sTrick(基础)

解法:

简单的2-sat,不过其他方法更快

POJ3648-Wedding(中等)

解法:

用2-sat做会比较有意思,但是暴搜照样0ms

POJ3678–KatuPuzzle(基础)

解法:

直接按合取式构图验证就行了

POJ3683–PriestJohn’sBusiestDay(中等)

解法:

n^2枚举点之间的相容性构图,求解2-SAT

最大流问题

变形很多,最小割最大流定理的理解是关键

POJ1149–PIGS(较难)

绝对经典的构图题

POJ1273–DrainageDitches(基础)

最大流入门

POJ1459–PowerNetwork(基础)

基本构图

POJ1637–Sightseeingtour(Crazy)

题意:

求混合图的欧拉迹是否存在

解法:

无向边任意定向,构图,详建黑书P324

POJ1815–Friendship(中等)

题意:

求最小点割

解法:

拆点转换为边割

相关:

POJ1966–CableTVNetwork(中等)

题意:

去掉多少点让图不连通

解法:

任定一源点,枚举汇点求点割集(转换到求边割),求其中最小的点割

POJ2112–OptimalMilking(基础)

二分枚举,最大流

POJ2391–OmbrophobicBovines(中等)

题意:

floyd,拆点,二分枚举

相关:

POJ2396–Budget(中等)

题意:

有源汇的上下界可行流

解法:

用矩阵-网络流模型构图,然后拆边

相关:

,最小割模型在竞赛中的应用

POJ2455–SecretMilkingMachine(基础)

二分枚举,一般来说需要写对边容量的更新操作而不是每次全部重新构图

POJ2699–TheMaximumNumberofStrongKings(较难)

解法:

枚举人数+最大流(感谢xpcnq_71大牛的建图的提示)

POJ2987–Firing(较难)

题意:

最大权闭包

解法:

先边权放大,第一问总量-最大流,第二问求最小割

相关:

Profit(中等)

最大权闭包图的特殊情况

ZOJ2071–TechnologyTrader也是此类型,懒了没做

POJ3084–PanicRoom(中等,好题)

题意:

解法:

根据最小割建模

POJ3155–HardLife(很挑战一题)

题意:

最大密度子图

解法:

参数搜索+最大权闭合图,A.V.Goldberg的论文(nb解法)

最小割模型在信息学竞赛中的应用一文中也有讲

POJ3189–SteadyCowAssignment(中等)

题意:

寻找最小的区间完成匹配

解法:

这题充分说明SAP的强大,纯暴力可过。

更好的方法是在枚举区间的过程中不断删边和加边继续网络流过程

POJ3204–Ikki’sStoryI–RoadReconstruction(基础)

ZOJ2532–Internship(基础)

题意:

确定边是否是某个割中的边

解法:

两边dfs求割,或暴力枚举(需要写取消某条增广路的操作(但数据弱,也许不取消也能混过))

POJ3308–Paratroopers(较难)

POJ2125–DestroyingTheGraph(难)

题意:

最小点权覆盖

POJ3469–DualCoreCPU(中等)

题意:

最小割

POJ3498–MarchofthePenguins(中等)

题意:

满足点容量限制的网络流

解法:

拆点把点容量转换为边容量,枚举汇点

ZOJ2587–UniqueAttack(较难)

题意:

确定最小割是否是唯一的

解法:

得理解dfs求最小割算法的本质

SPOJ839–OptimalMarks(难)

http:

//www.spoj.pl/problems/OPTM/

题意:

解法:

很经典哦,见amber的集训队论文,根据标号的每一位求最小割

SGU326–Perspective(中等)

http:

//acm.sgu.ru/problem.php?

c0&problem=326

比较经典的构图法

费用流问题

可以KM解的就不放在这里,另外,感觉除非很特殊的图,一般用连续增广路的算法就够了

POJ2175–EvacuationPlan(中等)

题意:

判断是否给定解是最优解,比较阴的一题

解法:

根据给出的计划构造流,然后消且只消一次负圈

POJ3422–Kaka’sMatrixTravels(中等)

题意:

解法:

拆点

POJ3680–Intervals(较难)

题意:

略,这题还是蛮经典

解法:

discuss中比较详细

SPOJ371–Boxes(简单)

http:

//www.spoj.pl/problems/BOXES/

题意:

解法:

费用流,但似乎有比网络流更好的做法

SGU185–Twoshortest(中等)

http:

//acm.sgu.ru/problem.php?

c0&problem=185

题意:

求两条不想交的最短路径

解法:

费用流,也可以最短路+最大流。

匹配问题

正确理解KM算法是很重要的

这里我还要说几句:

最正确解最小权匹配的办法是用一个很大的数-当前边权值,而不是直接对边权取反(这样只能处理左右点相等的完全二分图,即K(n,n)

以上有可能还是说的有点问题,以后补充

POJ1486–SortingSlides(中等)

题意:

二分图的必须边

解法:

需正真理解最大匹配算法,详见

POJ1904–King’sQuest(中等,好题)

题意:

求二分图所有可能的匹配边

解法:

虽然最终不是用匹配算法,但需要理解匹配的思想转换成强连通分量问题。

POJ2060-TaxiCabScheme(基础)

题意:

最小路径覆盖

POJ2594-TreasureExploration(中等)

题意:

可相交最小路径覆盖

解法:

先传递闭包转化下

POJ3041–Asteroids(基础)

POJ2226–MuddyFields(基础)

题意:

行列的覆盖

解法:

最小点集覆盖=最大匹配

POJ2195–GoingHome(基础)

题意:

最小权值匹配

解法:

KM算法

POJ2400–Supervisor,Supervisee(中等)

题意:

输出所有最小权匹配

解法:

KM,然后回溯解,汗,输入的两个矩阵居然是反过来的

POJ2516-MinimumCost(中等)

题意:

最小权值匹配或最小费用流

解法:

拆点+KM算法(只有正确的才能过),费用流(ms错的可能也能过)

POJ3686–TheWindy’s(较难)

题意:

最小权值匹配

解法:

拆点,然后尽管用KM算法去水吧,数据其实弱得不得了O(50*50*2500)->16ms

相关:

SPOJ412–K-pathcover(较难)

https:

//www.spoj.pl/problems/COVER/

题意:

解法:

很牛叉的一道匹配

相关:

SGU206.Roads(较难)

http:

//acm.sgu.ru/problem.php?

c0&problem=206

解法:

经典题目,也可以使用spoj412那题的优化

NP问题

一般是搜索或dp解的

POJ1419–GraphColoring(基础)

题意:

图的着色

解法:

搜索,可惜题目的数据真是太弱了

POJ2989–AllFriends(难)

题意:

极大团数量

解法:

开始狂tle,后来找了论文:

FindingAllCliquesofanUndirectedGraph(CoenBron&JoepKerboscht)

ZOJ1492–MaximumClique(基础)

题意:

图的最大团

解法:

搜索,如果要求速度,可参考下相应论文

其他

不能成大类的

POJ1470–ClosestCommonAncestors(基础)

题意:

LCA问题

解法:

tarjan或RMQ,另外输入很恶心

POJ1985–CowMarathon(基础)

题意:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 公共行政管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1