题意:

给一个有向无环带权图,每条路径上最多只能割一条边,最后使1到n无路径,问最小割边边权和是多少。

题意很清楚,但是这道题的题解其实是只适用于很少的情况的

我们考虑的做法是网络流最小割

对于所有边的反向边,流量均为inf

那么如果具体分析原因其实是这条路径割上游,那条路径割下游,然而可以走这条路径的上游和那条路径的下游,如何避免?

考虑到那条路径的上游和这条路径的下游是没有割的,中间的边如果可以反着走那么就可以很好的避免这种情况的发生

所以如果反向边是inf就可以很好的解决这个问题了

但是这样子想未必太过美好了一点,例如:

如果在网络流的图中有一条边是反向建的,那么正向的流量就是inf,导致答案与正确答案不符

无论如何,这道题的思路还是很好的,下贴代码

#include<bits/stdc++.h>
using namespace std;
const int inf=0x7fffffff;
int tot=1,w[2005],remain[2005],to[2005],nxt[2005];
int head[305],depth[305],hh[305];
int n,m,shu1,shu2,shu3,ans;
queue <int> que;
int minn(int x,int y)
{if(x<y) return x;return y;
}
void add(int x,int y,int z)
{to[++tot]=y;nxt[tot]=head[x];head[x]=tot;remain[tot]=z;
}
bool bfs()
{que.push(1);memset(depth,0,sizeof(depth));depth[1]=1;while(!que.empty()){int x=que.front();que.pop();for(int i=head[x];i;i=nxt[i]){int y=to[i];if(!remain[i]||depth[y]) continue;depth[y]=depth[x]+1;que.push(y);}}return depth[n];
}
int dfs(int x,int delta)
{if(x==n) return delta;int sum=0;for(int &i=hh[x];i&&delta;i=nxt[i]){int y=to[i];if(depth[y]!=depth[x]+1||!remain[i]) continue;int flow=minn(remain[i],dfs(y,delta));remain[i]-=flow;remain[i^1]+=flow;sum+=flow;delta-=flow;}return sum;
}
int main()
{freopen("mer.in","r",stdin);freopen("mer.out","w",stdout);cin>>n>>m;for(int i=1;i<=m;i++){scanf("%d%d%d",&shu1,&shu2,&shu3);add(shu1,shu2,shu3);add(shu2,shu1,inf/3);}while(bfs()){for(int i=1;i<=n;i++)hh[i]=head[i];ans+=dfs(1,inf);}cout<<ans;return 0;
}

CDQZ多校集训题目--盛夏相关推荐

  1. 2018 java蓝桥杯校赛题目

    1.[问题描述] 100 可以表示为带分数的形式:100 = 3 + 69258 / 714 还可以表示为:100 = 82 + 3546 / 197 注意特征:带分数中,数字1~9分别出现且只出现一 ...

  2. ●观光(17.12.02多校联测题目)

    题目: 题解: DP,方案数统计,(神奇). 题意不再赘述. 但不得不说,做这种dp真的好难受啊. 我们做如下考虑: 首先,起点只有出度,终点只有入度,其它点的出入度均为 1(这个结论好像没啥明显的用 ...

  3. 【摘苹果】scratch蓝桥杯集训题目

    摘苹果-用scratch编程实现 题目要求 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出 10 个苹果.苹果成熟的时候,陶陶就会跑去摘苹果. 陶陶身高 130 厘米,同时还有一个固定高度的板凳,当 ...

  4. HDU 2019 Multi-University Training Contest 1 杭电2019多校联合训练赛 第一场 1001 Blank (6578)

    HDU 2019 Multi-University Training Contest 1 杭电2019暑期多校集训第一场 1001 Blank (6578) Problem Description T ...

  5. 2019年高教社杯全国大学生数学建模竞赛 题目回顾及个人体会

    本文目录 1. 校内初赛 2. 组织队伍 3. 国赛 4. 个人感受 1. 校内初赛 我们学校在每次国赛前有一个校内选拔赛,我们选的校赛题目是 "两江游"轮船的调度问题,个人感觉这 ...

  6. Comet OJ 夏季欢乐赛 篮球校赛

    Comet OJ 夏季欢乐赛 篮球校赛 题目传送门 题目描述 JWJU注重培养学生的"唱,跳,rap,篮球"能力.于是每年JWJU都会举办篮球校赛,来给同学们一个切磋篮球技术的平台 ...

  7. 一句话题解(20170801~20170125)

    8.1 bzoj 4720 noip2016 换教室 floyd预处理+期望(薛定谔的猫) bzoj 4318 OSU! 三次函数期望值 从一次.二次推得 8.2 bzoj 1076 状压+期望DP ...

  8. 我对ACM初学者想说的话

    1  算法学习 ACM算法的学习,一般看刘汝佳的系列书籍即可.初学者需要看的书是<算法竞赛入门经典>(俗称小白书),或者可以看<算法竞赛入门经典(第二版)>(俗称紫书).理论上 ...

  9. ACM经历和退役感想

    文章目录 经历 感受 题外话 经历 2021.04.03 打完了最后一场ICPC,心中感慨万千,回忆一下这几年的经历,做一个记录. 大一进集训队,自己成绩一般般,也不成熟.组队后,刚上大学的愣头青,作 ...

最新文章

  1. “从A到I”智慧数据中心上海论坛
  2. 【自动驾驶】30.c++实现基于eigen实现欧拉角(RPY), 旋转矩阵, 旋转向量, 四元数之间的变换(附代码)
  3. 深入探究Python中的字典容器
  4. java最大内存_JAVA:测试java虚拟机支持的最大内存 Xmx 值?Tomcat 内存溢出?
  5. C | 构成和编码规范
  6. 记录遇到的Python陷阱和注意点
  7. 4999元起!三星在中国正式发布Galaxy S22系列
  8. 【bzoj1742】[Usaco2005 nov]Grazing on the Run 边跑边吃草 区间dp
  9. 计算机更新安装失败,电脑更新安装失败
  10. matlab和vc联合编程
  11. Emmagee 不支持android7.0以上,社区努力中~
  12. 家庭WIFI路由器当交换机用
  13. 图应用:骑士周游问题
  14. “~i“在C语言的for循环中是什么意思
  15. 华为平板可不可以安装Android,华为平板能跟iPad过招?MatePad Pro在安卓称王但用户不一定买单...
  16. android文本自动添加图片,Android textView文字添加图片 imageSpan使用
  17. mysql 设置 0、1 用什么数据类型_不断精炼核心知识点,终于能把MySQL讲懂了
  18. maple linux 远程,Maplesoft Maple Linux版下载
  19. tomcat启动错误Error deploying web application directory
  20. IMEI码规则及校验算法

热门文章

  1. 插画版Kubernetes指南(小孩子也能看懂的kubernetes教程)
  2. 统信UOS20-1030 初体验
  3. JBoss EAP 7消息系统
  4. linux 网络编程 51cto,Linux服务器开发,2小时搞定高并发网络编程
  5. DDR、DDR2、DDR3、DDR4、LPDDR区别
  6. CSS笔试题: 实现表格首行首列固定和自适应窗口
  7. Node 异步I/O 实现
  8. (2/3) c++ 集成 使用 steam api steam sdk
  9. kali中的firefox无法打开:your tab just crashed
  10. 自媒体怎么赚钱?新手小白日入600+