每个点拆成入点和出点。

发现每个点、每条边都只能经过一次,所以所有边的容量都是 \(1\)。

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=405,M=1e5+5;
int n,m,s,t,k=1,h[N],vis[N];
int to[M],nxt[M],w[M],f[M];
int lst[N],flw[N],dis[N];
void add(int x,int y,int z,int a){
w[++k]=z;f[k]=a;to[k]=y;
nxt[k]=h[x];h[x]=k;
f[++k]=-a;to[k]=x;
nxt[k]=h[y];h[y]=k;
}queue<int>q;
int spfa(){
while(q.size()) q.pop();
memset(lst,-1,sizeof(lst));
memset(vis,0,sizeof(vis));
memset(dis,127,sizeof(dis));
flw[s]=1e9;dis[s]=0;q.push(s);
while(q.size()){
int x=q.front();
q.pop();vis[x]=0;
for(int i=h[x];i;i=nxt[i]){
int y=to[i],vl=w[i];
if(vl&&dis[y]>dis[x]+f[i]){
lst[y]=i;
flw[y]=min(flw[x],vl);
dis[y]=dis[x]+f[i];
if(!vis[y])
q.push(y),vis[y]=1;
}
}
}return lst[t]!=-1;
}int mxflw,mncst;
void MCMF(){
while(spfa()){
mxflw+=flw[t];
mncst+=dis[t]*flw[t];
for(int i=t;i!=s;i=to[lst[i]^1])
w[lst[i]]-=flw[t],w[lst[i]^1]+=flw[t];
}
}signed main(){
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>n>>m;s=n+1;t=n;
for(int i=2;i<n;i++)
add(i,i+n,1,0);
for(int i=1;i<=m;i++){
int u,v,y;
cin>>u>>v>>y;
add(u+n,v,1,y);
}MCMF();cout<<mxflw<<" "<<mncst;
return 0;
}//spfa:它没有死透

[SDOI2009] 晨跑 题解的更多相关文章

  1. BZOJ1877:[SDOI2009]晨跑——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=1877 https://www.luogu.org/problemnew/show/P2153 Ela ...

  2. BZOJ 1877: [SDOI2009]晨跑 费用流

    1877: [SDOI2009]晨跑 Description Elaxia最近迷恋上了空手道,他为自己设定了一套健身计划,比如俯卧撑.仰卧起坐等 等,不过到目前为止,他坚持下来的只有晨跑. 现在给出一 ...

  3. BZOJ 3438 小M的作物 & BZOJ 1877 [SDOI2009]晨跑

    我由衷地为我的朋友高兴.哈哈,yian,当你nick name破百上千时,再打“蒟蒻”就会被打的. 好的,说正事吧.请注意,这还是题解.但我发现,网络流实在是太套路了(怪不得这两年几乎销声匿迹).我们 ...

  4. 【BZOJ1877】[SDOI2009]晨跑 最小费用最大流

    [BZOJ1877][SDOI2009]晨跑 Description Elaxia最近迷恋上了空手道,他为自己设定了一套健身计划,比如俯卧撑.仰卧起坐等 等,不过到目前为止,他坚持下来的只有晨跑. 现 ...

  5. 1877: [SDOI2009]晨跑

    1877: [SDOI2009]晨跑 Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 2007  Solved: 1085[Submit][Status][ ...

  6. bzoj1877: [SDOI2009]晨跑

    挺裸的最小费用最大流... #include<cstdio> #include<queue> #include<cstring> #include<iostr ...

  7. BZOJ 1877: [SDOI2009]晨跑( 最小费用最大流 )

    裸的费用流...拆点, 流量限制为1, 最后的流量和费用即答案. ------------------------------------------------------------------- ...

  8. BZOJ_1877_[SDOI2009]晨跑_费用流

    BZOJ_1877_[SDOI2009]晨跑_费用流 题意: Elaxia最近迷恋上了空手道,他为自己设定了一套健身计划,比如俯卧撑.仰卧起坐等 等,不过到目前为止,他 坚持下来的只有晨跑. 现在给出 ...

  9. AC日记——[SDOI2009]晨跑 bzoj 1877

    1877: [SDOI2009]晨跑 Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 2131  Solved: 1142[Submit][Status][ ...

  10. [SDOI2009]晨跑[最小费用最大流]

    [SDOI2009]晨跑 最小费用最大流的板子题吧 令 \(i'=i+n\) \(i -> i'\) 建一条流量为1费用为0的边这样就不会对答案有贡献 其次是对 \(m\) 条边建 \(u'-& ...

随机推荐

  1. kubeadm安装 k8s集群证书过期更新

    kubeadm安装 k8s集群证书过期更新 kubeadm版本 v1.18.8 #查看证书 #mast节点,查看所有证书 kubeadm alpha certs check-expiration #若 ...

  2. 【Python】2023年Python期末复习题

    Python百分百挂科指南 出题人,出的题,水平不咋样,给出的参考答案一堆错误,给出的正确选项单词都能拼错. 非本次考试人员不必看,没有参考价值 选择题 下列哪个标识符是不合法的()D A. Name ...

  3. 【JavaWeb】【Cookie】通过Cookie记录用户上次登陆时间并判断用户是否是首次登陆

    通过Cookie记录用户上次登陆时间并判断用户是否是首次登陆 Cookie类的构造方法 public Cookie(java.lang.String name,java.lang.String ) 1 ...

  4. DevNow x Notion

    前言 Notion 应该是目前用户量比较大的一个在线笔记软件,它的文档系统也非常完善,支持多种文档格式,如 Markdown.富文本.表格.公式等. 早期我也用过一段时间,后来有点不习惯,就换到了 O ...

  5. Qt音视频开发09-ffmpeg内核音视频同步

    一.前言 用ffmpeg来做音视频同步,个人认为这个是ffmpeg基础处理中最难的一个,无数人就卡在这里,怎么也不准,本人也是尝试过网上各种demo,基本上都是渣渣,要么仅仅支持极其少量的视频文件比如 ...

  6. Qt编写的项目作品28-视频监控显示安卓版

    一.功能特点 1.1 基础功能 支持各种音频视频文件格式,比如mp3.wav.mp4.asf.rm.rmvb.mkv等. 支持各种视频流格式,比如rtp.rtsp.rtmp.http等. 本地音视频文 ...

  7. 即时通讯技术文集(第34期):IM群聊技术合集(Part1) [共15篇]

    为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第34 期. [- 1 -] 快速裂变:见证微信强大后台架构从0到1的演进历程(一) [链接]  ...

  8. Python串口实现dk-51e1单相交直流标准源通信

    Python实现dk-51e1单相交直流标准源RS232通信 使用RS232,信号源DK51e1的协议帧格式如下: 注意点 配置串口波特率为115200 Check异或和不需要加上第一个0x81的字段 ...

  9. 简单了解RPC实现原理-copy

    核心框架类 /* * Copyright 2011 Alibaba.com All right reserved. This software is the * confidential and pr ...

  10. SequoiaDB数据库-new数据库

    随着企业中日益复杂与多变的需求,以及迅速扩展带来的海量数据的业务,IT部门需要将越来越多的信息提供给用户,同时在现今的全球经济背景环境下,IT部 门还需要在提供高效服务的同时,降低其设备与程序维护成本 ...