随笔分类 -  图论

1 2 下一页

hdu2389(HK算法)
摘要:传送门:Rain on your Parade题意:t个单位时间后开始下雨,给你N个访客的位置(一维坐标平面内)和他的移动速度,再给M个雨伞的位置,问在下雨前最多有多少人能够拿到雨伞(两个人不共用一把伞)。分析:这题匈牙利算法撸不过,只好去学习Hopcroft-Carp算法,复杂度为O(sqrt(V... 阅读全文

posted @ 2015-02-13 12:24 lienus 阅读(278) 评论(0) 推荐(0)

FZU2181+poj2942(点双连通+判奇圈)
摘要:分析:我们对于那些相互不憎恨的人连边,将每次参加会议的所有人(不一定是全部人,只需人数>=3且为奇数)看做一个点双联通分量,那么每个点都至少有两个点与他相邻。即需要保证双联通分量中存在奇圈。至于如何判奇圈,这里有一个性质:一个图是二分图当且仅当图中不存在奇圈。至于如何判断一个图是否是二分图,可以采用... 阅读全文

posted @ 2015-02-12 23:41 lienus 阅读(221) 评论(0) 推荐(0)

poj2226(最小点覆盖)
摘要:传送门:Muddy Fields题意:一个由r行c列方格组成的田地,里面有若干个方格充满泥泞,其余方格都是草。要用长度不限,宽度为1的长木板来覆盖这些泥方格,但不能覆盖草地。最少要用多少个长木板。分析:行列模型最小点覆盖,给连续行和列重新标号,然后每个字符*代表一条边,题目转换成用最少点覆盖所有的边... 阅读全文

posted @ 2015-02-12 12:43 lienus 阅读(254) 评论(0) 推荐(0)

loj1201(最大独立集)
摘要:传送门:A Perfect Murder题意:有一群苍蝇,之间有一些是朋友关系,如果杀了一只苍蝇,那么它的朋友们都会有警惕性,再也杀不了这些朋友了,问最多能杀多少只苍蝇。分析:根据朋友性连边,最多能杀多少只苍蝇非朋友关系,题目就是求一个裸最大独立集。#include #include #includ... 阅读全文

posted @ 2015-02-12 11:47 lienus 阅读(128) 评论(0) 推荐(0)

hdu4185+poj3020(最大匹配+最小边覆盖)
摘要:传送门:hdu4185Oil Skimming题意:n*n的方格里有字符*和#,只能在字符#上放1*2的板子且不能相交,求最多能放多少个。分析:直接给#字符编号,然后相邻的可以匹配,建边后无向图跑匈牙利算法,最后得到的最大匹配数/2。#include #include #include #inclu... 阅读全文

posted @ 2015-02-11 23:15 lienus 阅读(224) 评论(0) 推荐(0)

hdu1151+poj2594(最小路径覆盖)
摘要:传送门:hdu1151Air Raid题意:在一个城镇,有m个路口,和n条路,这些路都是单向的,而且路不会形成环,现在要弄一些伞兵去巡查这个城镇,伞兵只能沿着路的方向走,问最少需要多少伞兵才能把所有的路口搜一遍。分析:有向无环图不相交最小路径覆盖数,等于节点数减去二分图的最大匹配数,对于每条弧,弧头... 阅读全文

posted @ 2015-02-11 23:00 lienus 阅读(153) 评论(0) 推荐(0)

hdu1281+hdu2819(最大匹配数)
摘要:分析:将行和列缩点,即行对应二分图的X部,列对应二分图的Y部,然后交点为连接该行和该列的一条边。匹配时每点都会把整行整列占了,因此就不会出现冲突了。传送门:hdu1281棋盘游戏#include #include #include #include #include #include #includ... 阅读全文

posted @ 2015-02-11 22:49 lienus 阅读(160) 评论(0) 推荐(0)

hdu1054(最小顶点覆盖)
摘要:传送门:Strategic Game题意:用尽量少的顶点来覆盖所有的边。分析:最小顶点覆盖裸题,最小顶点覆盖=最大匹配数(双向图)/2.#include #include #include #include #include #include #include #include #include #... 阅读全文

posted @ 2015-02-11 22:33 lienus 阅读(149) 评论(0) 推荐(0)

hdu3829(最大独立集)
摘要:传送门:Cat VS Dog题意:动物园有N只猫,M只狗,P个小孩。每个小孩都有自己喜欢的动物和讨厌的动物,如果他喜欢狗,那么就讨厌猫,如果他讨厌狗,那么他就喜欢猫。某个小孩能开心,当且仅当他喜欢的动物留在动物园和讨厌的动物不在动物园里面。现让管理员通过带走某些动物,问最多能使多少个孩子开心。分析:... 阅读全文

posted @ 2015-02-11 22:26 lienus 阅读(341) 评论(0) 推荐(0)

hdu2444(判二分图+最大匹配)
摘要:传送门:The Accomodation of Students题意:有n个学生,m对相互认识的,问能否分成两队,使得每对中没有相互认识的,如果可以求最大匹配,否则输出No。分析:判断二分图用染色法,然后直接匈牙利算法求最大匹配。#include #include #include #include... 阅读全文

posted @ 2015-02-10 23:55 lienus 阅读(159) 评论(0) 推荐(0)

hdu2063+hdu1083(最大匹配数)
摘要:传送门:hdu2063过山车#include #include #include #include #include #include #include #include #include #include #include #include #define LL long long#define ... 阅读全文

posted @ 2015-02-10 22:17 lienus 阅读(160) 评论(0) 推荐(0)

hdu3622(二分+two-sat)
摘要:传送门:Bomb Game题意:给n对炸弹可以放置的位置(每个位置为一个二维平面上的点),每次放置炸弹是时只能选择这一对中的其中一个点,每个炸弹爆炸的范围半径都一样,控制爆炸的半径使得所有的爆炸范围都不相交(可以相切),求解这个最大半径.分析:二分距离,由two-sat判可行性,建图时对于每两个炸弹... 阅读全文

posted @ 2015-02-10 17:54 lienus 阅读(123) 评论(0) 推荐(0)

poj3678(two-sat)
摘要:传送门:Katu Puzzl题意:n个点,点的取值可以是0或者1。m条边,有权值,有运算方式(并,或,异或),要求和这条边相连的两个点经过边上的运算后的结果是边的权值。问你有没有可能把每个点赋值满足所有边的要求。分析:每个点必须取一个值满足所有限制条件,明显的two-sat模型。AND 结果为1:建... 阅读全文

posted @ 2015-02-10 16:41 lienus 阅读(98) 评论(0) 推荐(0)

hdu1824(two-sat)
摘要:传送门:Let's go home题意:有n个队伍要回家,但是每队必须留下一人,而且m个限制,a留下,b必须回家,问能否在限制条件下每队留下一人。分析:将每个队的队长和两个队员当成i和i';然后对于每个限制a,b,连边a->b'和b->a';建好图后tarjan缩点判断每个强连通内是否存在矛盾[i,... 阅读全文

posted @ 2015-02-10 14:57 lienus 阅读(116) 评论(0) 推荐(0)

hdu3062(two-sat)
摘要:传送门:Party题意:有n对夫妻被邀请参加一个聚会,因为场地的问题,每对夫妻中只有1人可以列席。在2n 个人中,某些人之间有着很大的矛盾(当然夫妻之间是没有矛盾的),有矛盾的2个人是不会同时出现在聚会上的。有没有可能会有n 个人同时列席?分析:two-sat裸题,对于有仇恨的两对夫妻u,v,连边u... 阅读全文

posted @ 2015-02-10 14:27 lienus 阅读(121) 评论(0) 推荐(0)

poj3207(two-sat)
摘要:传送门:Ikki's Story IV - Panda's Trick题意:给定一个圆,圆上一些点。两点一线。现给出一些线,这些线可以在圆内连起来,也可以在圆外。问有没有可能所有的线画完且不出现相交。分析:对于每条线,要么在圆外,要么在圆内,且不可同时满足,只能两者取一,判断这M条线是否合法,也就是... 阅读全文

posted @ 2015-02-09 22:37 lienus 阅读(157) 评论(0) 推荐(0)

hdu4738(双连通分量)
摘要:传送门:Caocao's Bridges题意:n个岛,曹操在一些岛之间建了一些桥,每个桥上有一些士兵把守,周瑜只有一个炸弹只能炸掉一个桥,并能使一些岛被孤立出来,炸弹需要士兵带过去,士兵的数量不能小于目标桥的守卫,求出最少要派出多少士兵。分析:题目很明显要找出边权最小的桥,但本题有几个坑:1)图若不... 阅读全文

posted @ 2015-02-08 22:41 lienus 阅读(277) 评论(0) 推荐(0)

hdu4635(强连通缩点)
摘要:传送门:Strongly connected题意:求最多可以加多少边,使得最新的图还不是强连通图。分析:最终添加完边的图,肯定可以分成两个部X和Y,其中只有X到Y的边没有Y到X的边,那么要使得边数尽可能的多,则X部肯定是一个完全图,Y部也是,同时X部中每个点到Y部的每个点都有一条边,但Y没有可以到达... 阅读全文

posted @ 2015-02-08 19:56 lienus 阅读(135) 评论(0) 推荐(0)

hdu4612(双连通缩点+树的直径)
摘要:传送门:Warm up题意:询问如何加一条边,使得剩下的桥的数目最少,输出数目。分析:tarjan缩点后,重新建图得到一棵树,树上所有边都为桥,那么找出树的直径两个端点连上,必定减少的桥数量最多,因此ans=树的边数-树的直径。#pragma comment(linker,"/STACK:10240... 阅读全文

posted @ 2015-02-08 15:13 lienus 阅读(223) 评论(0) 推荐(0)

poj3177(边双连通分量+缩点)
摘要:传送门:Redundant Paths题意:有n个牧场,Bessie 要从一个牧场到另一个牧场,要求至少要有2条独立的路可以走。现已有m条路,求至少要新建多少条路,使得任何两个牧场之间至少有两条独立的路。两条独立的路是指:没有公共边的路,但可以经过同一个中间顶点。分析:在同一个边双连通分量中,任意两... 阅读全文

posted @ 2015-02-08 13:06 lienus 阅读(531) 评论(0) 推荐(0)

1 2 下一页

导航