
【算法】有上下界的网络流
文章平均质量分 86
cz_xuyixuan
这个作者很懒,什么都没留下…
展开
-
【BZOJ1458】士兵占领
【题目链接】点击打开链接【思路要点】矩阵可以看做一张二分图,其中行为左侧点,列为右侧点,矩阵中的元素为边。直观地考虑,我们发现本题可以用有上下界的网络流来实现。由源点向行\(i\)连边,下界为\(L_{i}\),上界为\(+\infty\)。由列\(i\)向汇点连边,下界为\(C_{i}\),上界为\(+\infty\)。若\((i,j)\)不是障碍原创 2018-01-15 12:54:01 · 312 阅读 · 1 评论 -
【BZOJ3876】【JSOI2014】支线剧情
【题目链接】点击打开链接【思路要点】有上下界的费用流。时间复杂度\(O(MinimumCostFlow(N,\sum K_i))\)。【代码】#include<bits/stdc++.h>using namespace std;const int MAXN = 305;const int MAXQ = 1e6 + 5;const int INF = 1e9;template ...原创 2018-04-22 16:25:33 · 212 阅读 · 0 评论 -
【BZOJ4200】【UOJ132】【NOI2015】小园丁与老司机
【题目链接】BZOJUOJ【思路要点】将所有点按照纵坐标排序,分别处理同一纵坐标的点。显然,每个点在各个方向上的后继点若存在,是唯一的,先预处理。记\(f_i\)表示从节点\(i\)出发,能够经过的最多的点数。若不考虑左右的移动,\(f_i\)就是\(i\)在三个方向上后继结点的\(f\)值的最大值加1,记这个值为\(tmp_i\)。不妨令同一纵坐标的点横坐标递增,那么有\(f_i=max\{tm...原创 2018-05-28 16:57:53 · 580 阅读 · 0 评论 -
【BZOJ5335】【TJOI2018】智力竞赛
【题目链接】点击打开链接【思路要点】二分答案,然后用有上下界的最小流验证答案。时间复杂度\(O(LogM*Dinic(M,\sum K_i))\)。【代码】#include<bits/stdc++.h>using namespace std;const int MAXN = 505;const int MAXP = 2005;const int INF = 1e9;templ...原创 2018-06-12 11:16:00 · 498 阅读 · 0 评论