传送门

分析

https://www.luogu.org/problemnew/solution/P3980

代码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<cctype>
#include<cmath>
#include<cstdlib>
#include<queue>
#include<ctime>
#include<vector>
#include<set>
#include<map>
#include<stack>
#include<climits>
using namespace std;
const int inf = INT_MAX;
int n,m,f[40010],mf[40010],pre[40010],from[40010];
int head[40010],nxt[40010],to[40010];
int cost[40010],ath[40010],fr[40010],cnt;
int d[40010];
bool iq[40010];
int s,t,Ans;
int q[400100],fi,la;
inline void add(int x,int y,int z,int c){nxt[++cnt]=head[x];head[x]=cnt;to[cnt]=y;f[cnt]=z;cost[cnt]=c;fr[cnt]=x;nxt[++cnt]=head[y];head[y]=cnt;to[cnt]=x;f[cnt]=0;cost[cnt]=-c;fr[cnt]=y;ath[cnt]=cnt-1;ath[cnt-1]=cnt;
}
inline void go(){register int i;while(1){for(i=s;i<=t;i+=4)d[i]=d[i+1]=d[i+2]=d[i+3]=inf;fi=la=100001;q[fi]=s;d[s]=0;iq[s]=1;int flow=inf;while(fi<=la){int x=q[fi];fi++;iq[x]=0;if(d[x]>=inf)continue;for(i=head[x];i;i=nxt[i]){if(f[i]&&d[to[i]]>d[x]+cost[i]){d[to[i]]=d[x]+cost[i];pre[to[i]]=i;flow=min(flow,f[i]);if(!iq[to[i]]){if(d[to[i]]>d[q[fi]])q[++la]=to[i];else q[--fi]=to[i];iq[to[i]]=1;}}} }if(d[t]>=inf)return;int wh=pre[t];while(wh){f[wh]-=flow;f[ath[wh]]+=flow;Ans+=flow*cost[wh];wh=pre[fr[wh]];}}
}
inline int ra(){int x=0,f=1;char s=getchar();while(!isdigit(s)){if(s=='-')f=-1;s=getchar();}while(isdigit(s))x=(x<<3)+(x<<1)+(s-'0'),s=getchar();return x*f;
}
int main(){register int i;n=ra(),m=ra();s=0,t=n+2;for(i=1;i<=n;++i){int x;x=ra();add(i,i+1,inf-x,0);}add(s,1,inf,0),add(n+1,n+2,inf,0);for(i=1;i<=m;++i){int x,y,z;x=ra(),y=ra(),z=ra();add(x,y+1,inf,z);}go();printf("%d\n",Ans);return 0;
}

转载于:https://www.cnblogs.com/yzxverygood/p/9973454.html

bzoj1061 志愿者招募相关推荐

  1. 【NOI2008】BZOJ1061志愿者招募

    1061: [Noi2008]志愿者招募 Time Limit: 20 Sec Memory Limit: 162 MB Submit: 3028 Solved: 1872 Description 申 ...

  2. bzoj1061 志愿者招募

    题意:给m类志愿者,第i个志愿者从第 l[ i ] 天工作到第  r[ i ] 天,费用为c[ i ].每种志愿者可以选择无限多人. 每一天都有给定的最少志愿者数目要求a[ i ],求费用最小的选择方 ...

  3. [BZOJ1061][Noi2008]志愿者招募

    [BZOJ1061][Noi2008]志愿者招募 试题描述 申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管.布布刚上任就遇到了一个难 题:为即将启动的奥运新项目招募一批短期志愿 ...

  4. 【BZOJ1061/3265】[Noi2008]志愿者招募/志愿者招募加强版 单纯形法

    [BZOJ1061][Noi2008]志愿者招募 Description 申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管.布布刚上任就遇到了一个难题:为即将启动的奥运新项目招募 ...

  5. 【BZOJ1061】【NOI2008】志愿者招募

    [BZOJ1061][NOI2008]志愿者招募 题面 BZOJ 题解 我们设每类志愿者分别招募了\(B[i]\)个 那么,我们可以得到一系列的方程 \[\sum_{S[i]\leq x\leq T[ ...

  6. BZOJ1061 [NOI2008]志愿者招募

    Description 申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管.布布刚上任就遇到了一个难 题:为即将启动的奥运新项目招募一批短期志愿者.经过估算,这个项目需要N 天才能 ...

  7. BZOJ1061: [Noi2008]志愿者招募

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1061 1061: [Noi2008]志愿者招募 Time Limit: 20 Sec  M ...

  8. 【费用流】BZOJ1061: [Noi2008]志愿者招募(这题超好)

    1061: [Noi2008]志愿者招募 Time Limit: 20 Sec  Memory Limit: 162 MB Submit: 5291  Solved: 3173 [Submit][St ...

  9. [BZOJ1061] [NOI2008] 志愿者招募 - 最小费用最大流

    大部分内容转自: BYVOID - NOI2008 志愿者招募  如果讲道理的话,就是说我们抽象一下这个模型--然后每条费用边就是连接起始日期和结束日期的边,也就是说这条边上的流量增加1,就要增加一个 ...

  10. .NET Conf China 2020志愿者招募火热开启!还有神秘惊喜等你来领…

    距.NET Conf China 2020 2020 中国 .NET 开发者大会 开幕还有14天 作为.NET的组织者之一 我们已经为这个活动准备铺垫了很久 但为了保证活动方方面面的质量 为了给现场& ...

最新文章

  1. Attic——删除重复数据的备份程序
  2. windows 7 安装及.net开发环境搭建
  3. javafx中的tree_JavaFX中的塔防(4)
  4. LDAP命令介绍---dsreplication--initialize
  5. 47. Python socket编程 2
  6. 测量怎么显示坐标_测量员必须掌握的——全站仪坐标放样
  7. 宁愿“大小周”、每天只写 200 行代码、月薪 8k-17k 人群再涨 | 揭晓中国开发者真实现状
  8. MariaDB 10.3 解决掉了UPDATE不支持同一张表的子查询更新
  9. 如何正确在NSMutableDictionary中加入一个变量int
  10. 代码整洁读书笔记---序,前言,代码猴子
  11. Tensorflow模型变量保存
  12. NetworkManager和network
  13. web高级程序员必备知识
  14. v2订阅一键同步自定义混淆
  15. 集成钉钉机器人消息通知
  16. 知道Unicode表的数字,怎么用java推出相对应的日文?
  17. JavaBeans技术的应用
  18. CGAL Cookbook --CGAL简介
  19. 计算机协会发言稿范文,科技节的发言稿范文(精选5篇)
  20. python 动物分类_动物有哪些分类?

热门文章

  1. 【图频处理】基于matlab GUI界面环图像处理与音乐播放系统【含Matlab源码 185期】
  2. 【元胞自动机】基于matlab元胞自动机四车道交通流【含Matlab源码 039期】
  3. pycharm下防止鼠标拖拽代码字符
  4. c语言程序设计怎么改卷,C语言程序设计(B卷)教程.doc
  5. linux 历史命令列表,LinuxShell命令history
  6. php搜索功能代码实列,php记录搜索引擎关键词的代码示例
  7. python: 在pycharm打开带有中文字符的文件时,乱码,File was loaded in the wrong encoding: ‘UTF-8‘
  8. 单元格排序_Excel中这8种简单实用的排序方法,很多人都还不会用!
  9. java面试jquery问题_20个最常见的jQuery面试问题及答案
  10. ROS main函数中订阅器的编写