
图论
文章平均质量分 80
SwustLian
这个作者很懒,什么都没留下…
展开
-
hdu1150 Machine Schedule(最小点覆盖)
#include #include #include #include #include #include #include #include #include #include #include using namespace std;/* 题意:有2台机器加工零件,第一台有n种工作模式(n0,n1,n2...),第二台有m种工作模式(M0,M1,M2...)初始状原创 2015-08-01 10:31:20 · 456 阅读 · 0 评论 -
HDU 1281 棋盘游戏(二分匹配,关键点)
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=69427#problem/EDescription小希和Gardon在玩一个游戏:对一个N*M的棋盘,在格子里放尽量多的一些国际象棋里面的“车”,并且使得他们不能互相攻击,这当然很简单,但是Gardon限制了只有某些格子才可以放,小希还是很轻松的解决了这个问题(见下图)注意不能原创 2015-07-21 15:47:43 · 440 阅读 · 0 评论 -
Gym 100712H Bridges(桥+缩点+树的直径)
题意:给一个连通图,无重边,求增加一条边的最少桥的数量分析:先把桥的总数算出,并标记哪些边是桥,然后通过缩点,生成一个只有桥的图。要想使得更多的桥变成非桥,那么在桥的图中就把最长的跳路径首尾相连就可以了。我们可以算出桥的图的直径,所以最后结果为桥的总数-直径。树的直径求法:以任意点开始bfs找到最长的点,这个点必为直径的一个端点,然后以这个点作为起点再次bfs,找到的最远的点的距离就是直径原创 2015-08-17 20:56:27 · 454 阅读 · 0 评论 -
HDU 3394 Railway
题意:给一个无向图。如果至少有两个环共用了一些边,那么这些边被认为是“冲突边”。如果一些边不在任何一个环中,这些边被认为是“多余边”。你要找出这个图中有多少“多余边”和“冲突边”然后输出条数。另外这图不一定是连通的,无重边和自环。分析:冲突边:就是找一个点双连通分量,如果此连通分量边数>点数 ,则边数为ans。多余边:桥。#include #include #include #inc原创 2015-09-07 19:14:21 · 523 阅读 · 0 评论 -
UVA 11324 The Largest Clique(tarjan有向图强连通+缩点)
题意:给出一个有向图,问最多能有多少点能构成一个集合,这个集合性质是任意两点能相互到达,即u->v or v->y.分析:任意两点能互相到达,而且是有向图,很容易想到是强连通。要使这个集合中的点最多,仅一个强连通分量肯定不行,可由多个强连通分量构成. 那么求出各个强连通分量后,缩点,然后深搜一次,找出最大点集。#include #include #include #include原创 2015-09-08 20:53:48 · 374 阅读 · 0 评论 -
UVA 11324 The Largest Clique (拆点+KM)
题意:有n个盒子,围城一个环,每个盒子里可能有糖果或无糖果,总糖果不超过N,要求,把盒子中糖果数超过1的移到无糖果的盒子中,问最少几步。分析:把有糖果数为val的盒子,拆成val个装一个糖果的盒子,编号num1从1开始累加,但他们在同一点。然后就是与每个盒子匹配,用km,这里要求最少几步,就拿距离来建图。w[i][j] 表示第i个糖果的盒子,到第j个盒子的距离,由于是求最少,那么w[i][原创 2015-09-09 20:56:34 · 334 阅读 · 0 评论 -
Codeforces Round #375 (Div. 2) E
题目链接:点击打开链接题意:给出一个无向图,然后,要求变成一个有向图,使得出度==入度的点最多。输出一种方案。解:根据欧拉回路的一些推论;显然,原图为无向图,度为偶数的点都是可以的,度为奇数的点不能。那么,要找一个方案,我们可以把奇数度的点变成偶数度,即添加一个点s和所有的奇数度的点连边。然后,对于这个构成的“无向图”,找欧拉回路,肯定所有的点都能被包含。(自己看欧拉回路推论)原创 2016-11-04 15:36:24 · 421 阅读 · 0 评论 -
Codeforces Round #375 (Div. 2) F. st-Spanning Tree
题目链接:点击打开链接题意:给出无向图n个点,m条边 (2 ≤ n ≤ 200 000, 1 ≤ m ≤ min(400 000, n·(n - 1) / 2)) 找出一个生成树,使得s点的度不超过ds,t点的度不超过dt;解:数据分别是20w和40w,又是找生成树,显然是kurskal。首先,我们先不管s和t点,把其他点弄成生成树再说。然后,我们再考虑s点和t点与其他点的原创 2016-11-04 15:47:46 · 297 阅读 · 0 评论