poj1698解题报告(最大流 EK算法)

博客介绍了如何利用网络流算法解决poj1698题,通过构建图模型,设置源点、汇点及各边容量,最终检查最大流是否等于电影拍摄需求总天数。
摘要由CSDN通过智能技术生成
题目大意:爱丽丝要拍电影,有n部电影,规定爱丽丝每部电影在每个礼拜只有固定的几天可以拍电影,只可以拍前面w个礼拜,并且这部电影要拍d天,问爱丽丝能不能拍完所有的电影
第一行代表有多少组数据
对于每组数据第一行代表有n部电影

接下来2到n+1行,每行代表一个电影,每行9个数,前面7个数,1代表拍,0代表不拍,第8个数代表要拍几天,第9个数代表有几个礼拜时间拍

解题思路:这道题用网络流来做,这也是我第一次做这种需要建模来做的题,网络流的题主要就是构建图,虽然还是借助了解题报告的构建方法。。。。。

设源点为1,汇点为2,源点到每一部电影的容量为d(爱丽丝需要拍片的天数),每部电影到日期点的容量为1,日期到汇点的容量为1。最后看最大流是否等于 sum(d[ i ])

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<queue>
using namespace std;
const int N=400;
const int INF=99999999;
int n,m,sum,s1,t1,T;//s,t为始点和终点
int flow[N][N],cap[N][N],a[N],p[N],film_fin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值