有上下界网络流
_beginend
这个作者很懒,什么都没留下…
展开
-
bzoj 2502: 清理雪道 有源汇最小流
题意滑雪场坐落在FJ省西北部的若干座山上。 从空中鸟瞰,滑雪场可以看作一个有向无环图,每条弧代表一个斜坡(即雪道),弧的方向代表斜坡下降的方向。 你的团队负责每周定时清理雪道。你们拥有一架直升飞机,每次飞行可以从总部带一个人降落到滑雪场的某个地点,然后再飞回总部。从降落的地点出发,这个人可以顺着斜坡向下滑行,并清理他所经过的雪道。 由于每次飞行的耗费是固定的,为了最小化耗费,你想知道如何用最少原创 2017-03-07 14:34:48 · 366 阅读 · 0 评论 -
bzoj 2406: 矩阵 二分答案+上下界网络流
题意 N,M<=200,0<=L<=R<=1000,0<=Aij<=1000分析这题一看就觉得是网络流模型。。。问题在于如何建图。 首先我们二分答案,将其转化为判定性问题。 设矩阵A的第i行元素和为r[i],第j列元素和为c[j],若想满足当前答案,那么B的第i行的总和范围在[r[i]-mid,mid+r[i]],列同理。我们把每行看做一个点,每列看做一个点,构建二分图。原点向每个行点连边,上原创 2017-07-15 14:37:38 · 337 阅读 · 0 评论 -
Codeforces 704D Captain America 上下界最大流
题意 平面上有n个点,现在要把每个点染成红色或蓝色。把一个点染成蓝色需要b的代价,染成红色需要r的代价。同时有m个限制,每个限制形如某一行或某一列中,红点-蓝点数量的绝对值不能超过d。问最少需要多少代价。 n,m<=100000 分析 不难想到,我们可以把每个点先染成代价较大的颜色,然后考虑把尽量多的点改变成代价较小的颜色。 那么我们可以把每一行建一个点,每一列建一个点,点(x...原创 2018-04-11 16:59:19 · 269 阅读 · 0 评论 -
LibreOJ #6197.法克 上下界网络流
题意 给一个有n个点m条边的DAG,问最多能选出多少个点使得选出的点两两不能到达。 n≤105,m≤2nn≤105,m≤2nn\le10^5,m\le2n 分析 根据某定理,最长反链=最小链覆盖,注意这里的链覆盖是允许每个点被重复经过的。 当n比较小的时候,我们就可以通过传递闭包,将原图转为二分图,然后跑最大匹配就好了。 朴素一点的做法就是把每个点拆点,在它们之间连下界为1的边,然...原创 2018-05-28 11:32:47 · 427 阅读 · 0 评论