图论
kryi
这个作者很懒,什么都没留下…
展开
-
poj 1523 SPF
求删掉割点后图变成几个连通分支。 求割点,对每个块上的点进行统计。输出割点存在于几个块就可以了。 #include #include #include #include #include #include #include #include #include #include using namespace std; #define L(t) t<<1 #define原创 2013-10-13 20:29:58 · 569 阅读 · 0 评论 -
poj 3694 Network
先对当前的图求割边,记录割边,割边是由两个点组成,求完割边后,这个图就可以看做一颗树,但不要缩点,这样更方便。 对新加入的边的两个端点求最近公共祖先,这个点到公共祖先上的割边都不再是割边了。 求最近公共祖先用朴素的即可。感觉这个题很好。 #include #include #include #include #include #include #include #inclu原创 2013-10-13 20:46:06 · 511 阅读 · 0 评论 -
Hdu 3631 Shortest Path
每当标记一个点,就一个点为松弛的点,做一次floyd。最多一百个点,不会超时。 #include #include #include #include #include #include #include #include #include #include using namespace std; #define L(t) t<<1 #define R(t) t<<1|原创 2013-10-13 20:50:01 · 553 阅读 · 0 评论 -
poj 2723 Get Luffy Out
有n对钥匙,每对钥匙只能开一个门,有m个门,只能按顺序1到m的打开,每个门上有两把锁,打开其中一把就可开门,输出最多可以开多个门。 二分开门的个数,加入门有锁2,3,钥匙1,2,和3,4那么2,与3矛盾,1,与4矛盾。应1,3连边,2,4连边,判断是否可行。 #include #include #include #include #include #include #inclu原创 2013-10-13 21:29:13 · 540 阅读 · 0 评论 -
poj 3648 Wedding
新郎和新娘分别做到桌子的两边,夫妻不能同时坐到一边,不正当关系的两个人也不能同时坐到新娘对面,输出坐到新娘对面的一组可行方案。 一对夫妻选择一个人坐到对面,很明显2-sat结构。第i对夫妻用2*i和2*i+1表示妻子和丈夫,对于每个不正当关系,把不正当关系中的a-b',b-a‘连边。然后逆序建图,拓扑排序染色,输出结果。 #include #include #include #inc原创 2013-10-13 21:36:54 · 607 阅读 · 0 评论 -
hdu 3622 Bomb Game
在两个点中选一个点使以他们为圆心的形成的最小半径最大。 把任意两个点的距离求出来,把互斥的两个点设为最小。对距离进行二分,如果两个点距离小于当前二分的值,则把a-b'和b-a’连起来,判断可行。 #include #include #include #include #include #include using namespace std; #define eps 1e-5原创 2013-10-13 21:53:02 · 692 阅读 · 0 评论 -
poj 2942 Knights of the Round Table
每个有矛盾的骑士不可相邻,一个圆桌只能是奇数个骑士。 我们把没有矛盾的骑士连一条双向边。求出每一个块,如果这个块存在奇数环,那么我们可以保证这个块一定可以满足条件。 对块上的点进行染色,当前点染红色,把相邻的点都染成蓝色,如果遇到一个已经染色的点且这个点是红色,则证明存在奇环。 如果存在奇环,这个块上所有的骑士都可以参加会议。 #include #include #include原创 2013-10-13 20:38:34 · 541 阅读 · 0 评论 -
poj 2749 Building roads
把每个牧场分别和两个中转站其中一个连接。使曼哈顿距离最大值最小。 要把每个牧场拆成两个点,一个表示连到第一中转站,一个表示连到第二个中转站。 记录牧场之间的曼哈顿距离,然后二分,对于当前距离,如果满足连一条边,如果两个牧场不友好,他们不相同牧场连一条边,如果两个牧场友好,则把连到同一个牧场的点连一条边。 #include #include #include #include #i原创 2013-10-13 21:46:52 · 582 阅读 · 0 评论 -
hit 1917 && hdu 1814 Peaceful Commission
模板题。hdu 1814要求输出字典序最小的。这样很麻烦,但是可以暴力。 不用加文件读入输出。 hit 1917 #include #include #include #include #include #include #include using namespace std; const int maxn=16005; const int maxm=200005; in原创 2013-10-13 22:00:27 · 1296 阅读 · 0 评论