![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
acm_图论
文章平均质量分 75
ascii991
这个作者很懒,什么都没留下…
展开
-
poj 1149 网络流
额。。。这是SHTSC2011 第五轮的题。【题意】有 M 个猪圈(M ≤ 1000),每个猪圈里初始时有若干头猪。一开始所有猪圈都是关闭的。 依次来了 N 个顾客(N ≤ 100),每个顾客分别会打开指定的几个猪圈,从中买若干头猪。 每个顾客分别都有他能够买的数量的上限。 每个顾客走后,他打开的那些猪圈中的猪,都可以被任意地调换到其它开着的猪圈里,然后所有猪圈重新关上。【原创 2012-04-25 17:01:32 · 817 阅读 · 0 评论 -
NOI2009 变换序列【transform】二分图匹配
这道题还是很简单的,毕竟是NOI第一题。首先不难发现可以使用二分图描述问题,问题化归到一个求二分图完备匹配的问题。至于字典序最小,可以再匹配时,如果i可以与j或k匹配(j【代码】var a:array[0..10000,0..5] of longint; v:array[0..10000] of boolean; link,match:array[0..10000]原创 2012-04-16 17:28:41 · 789 阅读 · 0 评论 -
poj 3683 2-SAT 拓扑排序输出
【题意】有n个婚礼,每个婚礼有起始时间si,结束时间ti,还有一个主持时间ti,ti必须安排在婚礼的开始或者结束,主持由祭祀来做,但是只有一个祭祀,所以各个婚礼的主持时间不能重复,问你有没有可能正常的安排主持时间,不能输出no,能的话要输出具体的答案:即每个婚礼的主持时间段是什么样的。【题解】2-SAT判定问题,建图很简单,此略。重点讲一下输出方案。我们可以把处在同一个强连原创 2012-05-07 11:17:57 · 1720 阅读 · 0 评论 -
poj2699 竞赛图+网络流
这道题是个不错的题【题意】n个人比赛, 两两比,共n*(n-1), 赢得1分, n如果一个人打败了所有比自己分数高的人, 或者他本身就是分数最高的, 那么他就是StrongKing可能有多个Strong King, 现在按非降的顺序给你每个人的得分(不难道想到容量把), 问Strong King最多能有几个【解答】一般遇到竞赛图,网络流的可能性较大,因为竞赛图中原创 2012-04-11 11:04:12 · 1215 阅读 · 0 评论 -
poj2125 网络流
【题意】给出一个有向图,定义两种操作:w+(i)删掉i点的所有入边w-(i)删掉i点的所有出边,每种操作都有对应的花费,问删掉所有边的最小花费。【解答】我基于的想法是对于每个点,分拆成ai和bi,ai表示入度,bi表示出度。根据点度数的条件建图,后来我发现我的建图方法和人家的最小点覆盖的思路是一样的!我猛然发现最小点覆盖的思路更好理解。同时,我还看到了人家的有趣的分析:原创 2012-04-11 11:58:47 · 905 阅读 · 0 评论 -
topcoder SRM 492 div2 level3
A traveling salesman wants to survey N cities for business opportunities. The cities are numbered 0 throughN-1, and he wishes to visit each of them at least once. He starts at city 0 and can end at an原创 2012-05-25 17:47:12 · 552 阅读 · 0 评论 -
poj1716 差分约束系统
CEOI的题,很经典!对于区间问题,思路很多,但如果条件都是关于不等式的,那么就自然而然的联想到差分约束系统。一看到区间,我就会联想到前缀和,而这道题正好用上了。令sum[i]为从0--i选取到集合的个数的前缀和,则有题目条件可得:对于区间[ai,bi],sum[bi]-sum[ai-1]>=2;隐含条件:0连边一般有两种方法,第一种是连边后求最长路的方法,第二种是原创 2012-04-11 11:17:04 · 570 阅读 · 0 评论 -
poj1236 强连通分量——缩点
【题意】N(2【题解】找强连通分量,缩点。记f[i]为缩完点后的新图中各点入度,g[i]为出度,ans1为f[i]==0的点的数目,ans2为g[i]==0的点的数目则第一问为ans1,第二问则为max{ans1,ans2}。至于第二问的解释,我的想法是对于得到的DAG图,考虑其中的出度为0的点和入度为0的点组成的点集V,将这些点相连,最多这需要max{ans1,ans2}条边原创 2012-04-16 17:02:57 · 5538 阅读 · 1 评论 -
poj2749 2-SAT判定
【题意】给出n个牛棚、两个特殊点S1,S2的坐标。S1、S2直连。牛棚只能连S1或S2。还有,某些牛棚只能连在同一个S,某些牛棚不能连在同一个S。求使最长的牛棚间距离最小 距离是曼哈顿距离【题解】典型的2-sat判定。条件如下:x hate y:x->~y,~y->x,~x->y,y->~xx friend with y: x->y,y->x,~x->~y,~y->~x原创 2012-04-17 14:35:22 · 1628 阅读 · 0 评论 -
poj 1511 spfa
【题意】给定一个有向图,求从源点到其他各点的往返最短路径和。且这个图有一个性质:任何一个环都会经过源点。【题解】建正反两图,求最短路。spfa。。。注意用long long ,且输出时用printf("%I64d",ans);【代码】#include #include using namespace std;const int maxn=1000005,oo=原创 2012-04-25 17:49:29 · 723 阅读 · 0 评论 -
poj1156
一道图论和计算几何综合的题题意很好理解,略【解答】把墙上的所有可以走的点作为图中的点,建边的时候用线段相交判断是否可以连边。在跑一次dijkstra即可得解。注意,线段相交的时候,端点不算。水题,可以作为练手的题。#include #include #define eps 1e-8using namespace std;const int maxn=300;c原创 2012-04-11 11:45:48 · 628 阅读 · 1 评论 -
poj 2117 割点
【题意】给定一个无向图,求若删除其中一个点,则最多能形成多少个连通分量。【题解】无向图求割点,tarjan算法。令cnt[i]为在以节点i为根的子树中,去除i,能形成多少个连通分量,则ans=max(cnt[i])+原有的连通分支数。【代码】#include #include using namespace std;const int maxn=10010;int原创 2012-04-21 14:59:27 · 728 阅读 · 0 评论 -
poj 3660 传递闭包
【题意】牛之间有绝对的强弱,给出一些胜负关系,问有多少头牛可以确定其绝对排名。【题解】先传递闭包,入度+出度==n-1的满足条件。【代码】#include using namespace std;const int maxn=105;bool f[maxn][maxn];int b[maxn];int n,m,ans;int main(){ in原创 2012-05-06 15:24:22 · 477 阅读 · 0 评论 -
【百度之星资格赛】F:百科蝌蚪团
F:百科蝌蚪团时间限制: 1000ms 内存限制: 65536kB描述百度百科有一支神奇的队伍,他们叫自己“百科蝌蚪团”。为了更好的让蝌蚪团的成员们安排工作,百度百科的运营团队定出了一个24小时制的时间表。例如:1. 每个蝌蚪团成员工作时长相同;2. 必须安排蝌蚪团成员在他们方便的时间段工作;3. 蝌蚪团成员安排时间最小安排时间节点(开始工作或停止工作)为半小时,比原创 2012-06-06 10:16:38 · 13266 阅读 · 0 评论 -
NOI2009 植物大战僵尸 PVZ
和NOI2006的最大获利一样,都是最大权闭合图的应用。可参考胡伯涛的论文。但这道题还需在建图时去除环。因为最大权闭合图算法不能判断环的情况。type edge=record x,y,f,next,op:longint; end;const oo=10000000;var e:array[1..500000] of edge; no:arra原创 2012-04-16 09:45:13 · 1197 阅读 · 0 评论 -
poj 3522 生成树的变形
【题意】求一颗生成树,使得边权的最大值与最小值之差最小。【题解】可以二分答案,但是没必要,只要枚举最小边即可。使用kruskal的贪心法,得到的生成树的最大边必定最小,所以最大边与最小边之差最小。【代码】#include #include using namespace std;const int maxn=100;const int maxe=maxn*(maxn原创 2012-04-16 10:37:14 · 1715 阅读 · 0 评论