ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2022-7-2 网络流听课笔记

2022-07-02 18:03:02  阅读:131  来源: 互联网

标签:max sum 凸函数 笔记 下界 2022 听课 maxflow lambda


CF925F

题目叙述

一个上下界网络流问题,每条边的流量在 \([at+b,ct+d]\) 内。t 在 \([0,1]\) 内随机,求这张图有多少概率有解。

题解

如果 \(t\) 不形成一个区间,那这个题就太难了。所以猜测 \(t\) 形成一个区间。
其次,这个东西如果是单调的,那就太简单了。所以我们猜他是凸的,需要三分这个区间。
先温习一下怎么求上下界网络流的可行解。先保证每条边都至少有下界那么多,然后再满足流量平衡。具体地,如果在每条边流满下界时,流出比流入多,那么就从 \(s\) 向这个点连接多流出的那些流量,否则就从他向终点链接。有解当且仅当所有 \(s\) 流出的边都流满了。
考虑证明一下上面猜测的结论。

引理:\(\lambda maxflow(t_1)+(1-\lambda) maxflow(t_2)\le maxflow(\lambda t_1+(1-\lambda)t_2)\)

这一点的证明基于如下事实:跑最大流的图每条边的流量是一个关于 \(t\) 的固定的一次函数。因此对于 \(t_1\) 和 \(t_2\) 构成最大流的那组解,在每条边的流变为 \(\lambda f(t_1)+(1-\lambda)f(t_2)\) 之后就是一组流。因此最大流不小于这个值。所以 \(maxflow(t)\) 就是一个上凸函数。

那么只要找到 \(sum(t)-maxflow(t)\) 的零点即可。其中 \(sum(t)\) 理解为所有连向 \(s\) 的边的边权和。
而这个东西实际上是一个下凸函数,因为其实它的形式是 \(\sum_{} \max(a_ix+b_i,0)\) ,其中 \(i\) 代表一条从源点连向一个点的边。这是因为 \(\max(ax+b,0)\) 是一个下凸函数,所以一大堆函数相加也是一个下凸函数。

总结

  • 题目不会太难,所以要猜一些简单的结论。
  • 证明不会太难,所以可以考虑使用这样一个显然的不等式:\(\forall T\subseteq S,\max(T)\le \max(S)\) 。

所以 \(gap(t)=sum(t)-maxflow(t)\) 是一个下凸函数减去上凸函数,因此还是一个上凸函数。那么直接三分即可。

P3263 危桥

题目叙述

给定无向图,两个人分别从 \(a_1\) 走到 \(a_2\) 和 \(b_1\) 走到 \(b_2\) ,分别要走 \(2a_n\) 和 \(2b_n\) 次。每条边有一个经过次数上限,上限制可能是无限也可能是 2 。判断是否有解。

题解

标签:max,sum,凸函数,笔记,下界,2022,听课,maxflow,lambda
来源: https://www.cnblogs.com/YouthRhythms/p/16438067.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有