bzoj 2245 [SDOI2011]工作安排【最小费用最大流】

其实不用拆点,对于每个人我们假装他是\( s[i]+1 \)个点,可以由他向T点分别连\( s[i]+1 \)条边,容量为\( t[i][j]-t[i][j-1]\),由S点向所有产品i连容量为c[i]的边,由所有产品向能制造它的人连容量为inf的边。
因为是最小费用最大流,\( w[i][j]<w[i][j+1] \),所以会自动选择起点小的区间先流。

#include<iostream>
#include<cstdio>
#include<queue>
#include<cstring>
using namespace std;
const long long N=505,P=100005,inf=1e18;
long long m,n,c[N],a[N][N],s[N],t[N][10],w[N][10],S,T=1005,ans,fr[P],dis[P],h[P],cnt=1;
bool vis[P];
struct qwe
{long long ne,no,to,va,c;
}e[P<<1];
long long read()
{long long r=0,f=1;char p=getchar();while(p>'9'||p<'0'){if(p=='-')f=-1;p=getchar();}while(p>='0'&&p<='9'){r=r*10+p-48;p=getchar();}return r*f;
}
void add(long long u,long long v,long long w,long long c)
{cnt++;e[cnt].ne=h[u];e[cnt].no=u;e[cnt].to=v;e[cnt].va=w;e[cnt].c=c;h[u]=cnt;
}
void ins(long long u,long long v,long long w,long long c)
{add(u,v,w,c);add(v,u,0,-c);
}
bool spfa()
{queue<long long>q;for(int i=S;i<=T;i++)dis[i]=inf;vis[S]=1;dis[S]=0;q.push(S);while(!q.empty()){long long u=q.front();q.pop();vis[u]=0;for(int i=h[u];i;i=e[i].ne)if(e[i].va>0&&dis[e[i].to]>dis[u]+e[i].c){fr[e[i].to]=i;dis[e[i].to]=dis[u]+e[i].c;if(!vis[e[i].to]){vis[e[i].to]=1;q.push(e[i].to);}}}return dis[T]!=inf;
}
void mcf()
{long long x=inf;for(int i=fr[T];i;i=fr[e[i].no])x=min(x,e[i].va);for(int i=fr[T];i;i=fr[e[i].no]){ans+=x*e[i].c;e[i].va-=x;e[i^1].va+=x;}
}
int main()
{m=read(),n=read();for(int i=1;i<=n;i++){c[i]=read();ins(S,i,c[i],0);}for(int i=1;i<=m;i++)for(int j=1;j<=n;j++){a[i][j]=read();if(a[i][j])ins(j,i+n,inf,0);}for(int i=1;i<=m;i++){s[i]=read();for(int j=1;j<=s[i];j++)t[i][j]=read();t[i][s[i]+1]=inf;for(int j=1;j<=s[i]+1;j++){w[i][j]=read();ins(i+n,T,t[i][j]-t[i][j-1],w[i][j]);}}while(spfa())mcf();printf("%lld",ans);return 0;
}
/*
2 3
2 2 2
1 1 0
0 0 1
1
2
1 10
1
2
1 6
*/

转载于:https://www.cnblogs.com/lokiii/p/8185189.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/571327.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

angularjs directive scope变化为啥html,学习AngularJs:Directive指令用法(完整版)

本教程使用AngularJs版本&#xff1a;1.5.3摘要&#xff1a;Directive(指令)笔者认为是AngularJ非常强大而有有用的功能之一。它就相当于为我们写了公共的自定义DOM元素或CLASS属性或ATTR属性&#xff0c;并且它不只是单单如此&#xff0c;你还可以在它的基础上来操作scope、绑…

通信、计算机、电子相关专业技术工作

中国联合网络通信有限公司&#xff08;福建分公司2018招聘&#xff09;<1>IT工程师相应岗位&#xff08;软件方向&#xff09;岗位需求1.以C/C等计算机语言为主要武器&#xff0c;参与公司IT开发、维护、优化2.根据公司发展和业务需求进行软件设计、参与代码开发、系统测…

python可视化报表制作教程_如何使用Python快速制作可视化报表

数据可视化能力已经越来越成为各岗位的基础技能。领英的数据报告显示&#xff0c;数据可视化技能在2017年中国最热门技能中排名第一。就数据分析而言&#xff0c;可视化探索几乎是你正式进行数据分析的第一步&#xff0c;通过SQL拿到数据之后&#xff0c;我们需要使用可视化方法…

vfp程序改错 计算机和英语,vfp程序改错教案.doc

Visual Foxpro程序改错〖第1题〗(练习题所在文件夹:163)*题目&#xff1a;该程序完成口令检验功能。输入三次不正确退出。*注意&#xff1a;不可以增加或删除程序行&#xff0c;也不可以更改程序的结构。SET TALK OFFCLEARass1"AbCdEf"TT1DO WHILE TT<410,20 SAY …

青春

青春 最后一班午夜列车&#xff0c;悄悄地带走了青春&#xff0c;溪水淌过的路终将不会倒流而去。 青春就像一件新买的衬衫&#xff0c;尽管新颖夺目&#xff0c;却始终逃不了岁月的洗礼&#xff0c;一遍一遍的脱去新颖的靓丽&#xff0c;尽管你小心的呵护&#xff0c;终将守护…

lisp遍历表中所有顶点_三十张图片让你彻底弄明白图的两种遍历方式:DFS和BFS...

1 引言遍历是指从某个节点出发&#xff0c;按照一定的的搜索路线&#xff0c;依次访问对数据结构中的全部节点&#xff0c;且每个节点仅访问一次。  在二叉树基础中&#xff0c;介绍了对于树的遍历。树的遍历是指从根节点出发&#xff0c;按照一定的访问规则&#xff0c;依次…

未来教育计算机二级预测c,二级C语言(附光盘)(全国计算机等级考试预测试卷与真考题库)...

摘要&#xff1a;高质量预测试卷 首创命题模拟系统,专家层层把关,瞄准每年的更新试题 最新版无纸化考试题库 提供1035道题,所有试题均有正确答案与详尽解析 无纸化真考模拟系统 操作环境,评分机制与真实考试系统的完全一致,带您提前"进入"考场 名师视频课堂 机考误区…

通用测试用例大全

为方便平时写测试用例&#xff0c;整理如下&#xff1a; 功能条件测试步骤测试数据预期结果备注搜索或查询 单独遍历各查询条件&#xff0c;测试按各查询条件是否都能够查询出相应的值. 查询出符合条件的记录 设置界面上所有查询条件进行查询,单击查询按钮后&#xff0c;测试执…

cαr怎么发音_【英语拼读发音规则】连读、略读、重读、断句、语调……

在说汉语的时候&#xff0c;我们讲究的是“字正腔圆、掷地有声”&#xff0c;而英语恰恰相反&#xff0c;它需要将一句话中的某些重点词汇突出&#xff0c;弱化非重点词汇。所以&#xff0c;对已经习惯了“字正腔圆”的我们来讲&#xff0c;就会觉得英语听起来“太含含糊糊”了…

中职计算机英语c答案,中职高考计算机试题及答案-20210622105004.docx-原创力文档...

* 1&#xff0e;计算机采用“存储程序”原理的提出者是()A&#xff0e;莫尔B&#xff0e;比尔盖茨C&#xff0e;冯 诺依曼D&#xff0e;科得2&#xff0e;下列表示计算机运行速度的是()A. 7200转B. 2GHZC&#xff0e; 20GD. 1024 x 768像素(l00101 ) 2 对应的十进制数是( )A. 3…

WEB网站测试思路

1、链接测试&#xff1a;a:进入页面后点击链接是否正常跳转 b:单独将链接复制到浏览器里面是否正常展示页面&#xff08;如果需要登录的网站&#xff0c;还需要考虑个人中心等需要登录的功能在未登录成功时以及登录成功后直接通过链接打开的情况&#xff09; 2、菜单测试&#…

计算机病毒属于什么类工具,什么是计算机病毒?有哪些类型

病毒定义一、计算机病毒(Computer Virus)在《中华人民共和国计算机信息系统安全保护条例》中被明确定义&#xff0c;病毒指“编制或者在计算机程序中插入的破坏计算机功能或者破坏数据&#xff0c;影响计算机使用并且能够自我复制的一组计算机指令或者程序代码”。而在一般教科…

织梦缩略图自动补齐绝对路径_[教程]织梦CMS缩略图和文章内容图片自动转化为带域名的绝对路径...

今天又接了个织梦CMS的有偿服务,客户想要后台添加文章内容的时候,缩略图自动变成带上绝对路径的格式.比如我们默认的缩略图是这样的 /uploads/allimg/150814/123P2NB-0-lp.png 他想要的效果是这样的 http://fcz8k.com/uploads/allimg/150814/123P2NB-0-lp.png大家懂我意思了吧…

Net学习日记_ASP.Net_MVC_新语法笔记

01.新语法 本章中主要讲解.Net框架性语法。开发者可以使用新语法提高编程的效率以及代码的运行效率&#xff1b;其本质都是“语法糖”&#xff0c;由编译器在编译时转成原始语法。 1 自动属性 Auto-Implemented Properties 2 隐式类型 var 3 对象初始化器 与 集合初始化器 { …

燕山大学数字通信计算机仿真代码,燕山大学数字通信计算机仿真课程设计模板.doc...

??数字通信计算机课设??程序代码?//?SigTranmit.cpp:?implementation?of?the?SigTranmit?class.?//?//??#include?"stdafx.h"?#include?"ASK.h"?#include?"SigTranmit.h"?#include???#ifdef?_DEBUG?#undef?THIS_FILE…

inventor如何钣金出弧面_Inventor教程之钣金多规则

钣金多规则是继钣金多实体之后&#xff0c;Inventor 在钣金模块功能的又一重要增强。钣金多规则基于钣金多实体的基础上&#xff0c;完善了用户需要在不同实体上赋予不同板厚、展开规则、折弯释压形状、拐角释压形状以及尺寸等针对各实体的个性化设置。使用户可以把钣金多规则和…

Mybatis_接口编程

Mybatis参考使用文档&#xff1a;http://www.mybatis.org/mybatis-3/zh/index.html 1.项目结构 2.新增EmployeeMapper.java接口代码 package com.atguigu.mybatis.dao;import com.atguigu.mybatis.bean.Employee;public interface EmployeeMapper {public Employee getEmpById(…

计算机楼综合布线设计图,宿舍楼综合布线设计含图.doc

宿舍楼综合布线设计含图信息工程学院-网络规划与综合布线PAGE第 PAGE 10 页 共10页目 录HYPERLINK \l _Toc5475 摘要1HYPERLINK \l _Toc2717 关键词 1HYPERLINK \l _Toc30683 前言11.综合布线设计原则布 HYPERLINK \l _Toc20365 1HYPERLINK \l _Toc1695 2. 总体结构1HYPERLINK …

iconv 判断字符编码_GBK 和 UTF8编码

相关学习内容&#xff1a;https://study.163.com/course/courseMain.htm?courseId1210747815&share2&shareId480000002227524​study.163.com9节课征服「字符编码」 - 网易云课堂9节课征服「字符编码」 - 网易云课堂​study.163.com首先来看一下常用的编码有哪些&…

完美粉红噪声及各种声波测试软件,粉红噪声的测试原理

粉红噪声。既然是噪声就绝对不是单纯的纯音&#xff0c;它是一种频率覆盖范围很宽的声音。低频能下降到接近0Hz(不包括0Hz)高频端能上到二十几千赫&#xff0c;而且它在等比例带宽内的能量是相等的(误差只不过0.1dB左右)。比如用1/3oct带通滤波器去计算分析&#xff0c;我们会发…