![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
费用流
luoyuef
这个作者很懒,什么都没留下…
展开
-
方格取数加强版
给出一个n*n的矩阵,每一格有一个非负整数Aij,(Aij <= 1000)现在从(1,1)出发,可以往右或者往下走,最后到达(n,n),每达到一格,把该格子的数取出来,该格子的数就变成0,这样一共走K次,现在要求K次所达到的方格的数的和最大 输入格式: 第一行两个数n,k(1<=n<=50, 0<=k<=10) 接下来n行,每行n个数,分别表示矩阵的每个格子的数 输出格式: 一个数,为最原创 2017-11-29 08:06:52 · 350 阅读 · 0 评论 -
数字梯形
给定一个由 n 行数字组成的数字梯形如下图所示。梯形的第一行有 m 个数字。从梯形的顶部的 m 个数字开始,在每个数字处可以沿左下或右下方向移动,形成一条从梯形的顶至底的路径。 分别遵守以下规则: 1.从梯形的顶至底的 m 条路径互不相交; 2.从梯形的顶至底的 m 条路径仅在数字结点处相交; 3.从梯形的顶至底的 m 条路径允许在数字结点相交或边相交。这道题是个费用流,刚开始在考原创 2017-11-28 13:39:39 · 1691 阅读 · 0 评论 -
深海机器人问题
这题的题面描述。。有点问题。。坐标写的很乱。 这道题其实和著名DP问题方格取数很像qwq 我们发现机器人可以重复经过边,但只能对答案贡献一次,所以两点间连两条边。一条是容量1带的费用。 另一条没费用容量INF。用拆点吗?不用的。因为这个权值是走过边会有,所以这题中不用拆点。起点连S容量机器人,终点连T容量机器人。注意算好点的坐标别发生计算错误调半天这样的傻事qwq。#include<bits/原创 2017-12-07 11:50:54 · 223 阅读 · 0 评论 -
负载平衡问题
G 公司有 n 个沿铁路运输线环形排列的仓库,每个仓库存储的货物数量不等。如何用最少搬运量可以使 n 个仓库的库存数量相同。搬运货物时,只能在相邻的仓库之间搬运。输出最少搬运量。看到题按样例人脑CPU模拟了一下。。怎么搬到一样呢。。突然发现自己傻傻哒。。数量相同肯定就是求一个Σ然后算一下平均数。之后怎么办呢。。贪心?只能相邻搬运所以贪心显然是错的。然后。。我又灵光一现(最近做题状态好棒啊)。对于原创 2017-12-07 09:50:19 · 914 阅读 · 0 评论 -
运输问题
水一道题,这题不是一眼秒的嘛。。最小费用+最大费用流。 S连仓库,商店连T。 中间连INF的,费用就是c。。。代码懒得写qwq。原创 2017-12-07 08:32:39 · 510 阅读 · 0 评论 -
航空路线问题
题目描述 给定一张航空图,图中顶点代表城市,边代表 2 城市间的直通航线。现要求找出一条满足下述限制条件的且途经城市最多的旅行路线。 (1)从最西端城市出发,单向从西向东途经若干城市到达最东端城市,然后再单向从东向西飞回起点(可途经若干城市)。 (2)除起点城市外,任何城市只能访问 1 次。 对于给定的航空图,试设计一个算法找出一条满足要求的最佳航空旅行路线。 输入格式: 第 1 行有原创 2017-12-04 09:58:37 · 884 阅读 · 0 评论 -
[ZJOI2010]网络扩容
题目描述 给定一张有向图,每条边都有一个容量C和一个扩容费用W。这里扩容费用是指将容量扩大1所需的费用。求: 1、 在不扩容的情况下,1到N的最大流; 2、 将1到N的最大流增加K所需的最小扩容费用。输入格式: 输入文件的第一行包含三个整数N,M,K,表示有向图的点数、边数以及所需要增加的流量。 接下来的M行每行包含四个整数u,v,C,W,表示一条从u到v,容量为C,扩容费用为W的边。输出格式:原创 2017-12-20 18:51:55 · 200 阅读 · 0 评论 -
网络流杂题
美食节 动态加边的思想很棒qwq,我们SPFA的时候有的点显然用不到的(费用大不会增广)所以先不加这些边。 然后就是。。洛谷这题。。卡常数,有2个点不开O2我卡不进去啊qwqwq#include<bits/stdc++.h>using namespace std;const int MAXN=1e7+5;const int INF=1e9+7;struct edge{ int u,t原创 2017-12-20 15:09:20 · 157 阅读 · 0 评论 -
火星探险问题
这道题不就是一个拆点后的少连边输出方案的方格取数嘛。方案可以用栈来输出。 但,我真的不知道为什么一直是83分。LOJ还炸了看不到哪里错。。。 我真的找不出错啊。。。#include<bits/stdc++.h>using namespace std;const int MAXN=7e5+5;const int base=3e5;const int INF=1e9+7;struct edge原创 2017-12-08 13:38:04 · 757 阅读 · 0 评论 -
方格取数问题
在一个有 m*n 个方格的棋盘中,每个方格中有一个正整数。现要从方格中取数,使任意 2 个数所在方格没有公共边,且取出的数的总和最大。试设计一个满足要求的取数算法。对于给定的方格棋盘,按照取数要求编程找出总和最大的数。输入格式: 第 1 行有 2 个正整数 m 和 n,分别表示棋盘的行数和列数。接下来的 m 行,每行有 n 个正整数,表示棋盘方格中的数。 输出格式: 程序运行结束时,将取数的最原创 2017-11-30 09:33:26 · 483 阅读 · 0 评论 -
分配问题
有 n 件工作要分配给 n 个人做。第 i 个人做第 j件工作产生的效益为 cij。试设计一个将 n 件工作分配给 n 个人做的分配方案,使产生的总效益最大。费用流裸题,跑一遍最大费用最大流,跑一遍最小费用最大流,比较裸。#include<bits/stdc++.h>using namespace std;const int MAXN=2e5+5;const int INF=1e9;cons原创 2017-11-29 18:19:35 · 519 阅读 · 0 评论 -
餐巾计划问题
一个餐厅在相继的N天里,第i天需要Ri块餐巾(i=l,2,…,N)。餐厅可以从三种途径获得餐巾。 (1)购买新的餐巾,每块需p分; (2)把用过的餐巾送到快洗部,洗一块需m天,费用需f分(f<p)。如m=l时,第一天送到快洗部的餐巾第二天就可以使用了,送慢洗的情况也如此。 (3)把餐巾送到慢洗部,洗一块需n天(n>m),费用需s分(s<f)。 在每天结束时,餐厅必须决定多少块用过的餐巾送到快原创 2017-11-29 15:02:24 · 434 阅读 · 0 评论 -
Bird
有一棵 nnn 个点的树。iii 的父亲为 ⌊i/2⌋⌊i/2⌋ \lfloor{i/2\rfloor}。(i>=2)(i>=2)(i>=2) 每个点有一个承载上限,给出mmm个点的位置。 输出前 iii个点 (1<=i<=m)(1<=i<=m)(1n,m<=3∗105n,m<=3∗105n,mSSS 连初始位置容量为初始点个数费用0,每个点连 ...原创 2018-04-12 16:44:20 · 223 阅读 · 0 评论