思路:

不被题目忽悠就是思路

二分一下max 判一下等不等于最大流

搞定

7 9 1

1 2 3

1 3 3

2 3 3

3 4 2

3 5 2

3 6 1

4 7 2

5 7 2

6 7 2

这里有组Bob是小数的例子

  1. //By SiriusRen
  2. #include <queue>
  3. #include <cstdio>
  4. #include <cstring>
  5. #include <algorithm>
  6. using namespace std;
  7. #define N 105
  8. #define M 2222
  9. #define eps 1e-7
  10. int n,m,p,xx[M],yy[M];
  11. int first[N],vis[N],next[M],v[M],tot;
  12. double w[M],l,r,Ans,zz[M];
  13. void Add(int x,int y,double z){w[tot]=z,v[tot]=y,next[tot]=first[x],first[x]=tot++;}
  14. void add(int x,int y,double z){Add(x,y,z),Add(y,x,0);}
  15. void init(){memset(first,-1,sizeof(first)),tot=0;}
  16. bool tell(){
  17. memset(vis,-1,sizeof(vis)),vis[1]=0;
  18. queue<int>q;q.push(1);
  19. while(!q.empty()){
  20. int t=q.front();q.pop();
  21. for(int i=first[t];~i;i=next[i])
  22. if(w[i]>eps&&vis[v[i]]==-1)
  23. vis[v[i]]=vis[t]+1,q.push(v[i]);
  24. }return ~vis[n];
  25. }
  26. double zeng(int x,double y){
  27. if(x==n)return y;
  28. double r=0;
  29. for(int i=first[x];~i&&y>r;i=next[i])
  30. if(w[i]>eps&&vis[v[i]]==vis[x]+1){
  31. double t=zeng(v[i],min(y-r,w[i]));
  32. w[i]-=t,w[i^1]+=t,r+=t;
  33. }
  34. if(r<eps)vis[x]=-1;
  35. return r;
  36. }
  37. double flow(){
  38. double tmp,ans=0;
  39. while(tell())while((tmp=zeng(1,1000000.0))>eps)ans+=tmp;
  40. return ans;
  41. }
  42. bool check(double mid){
  43. init();
  44. for(int i=1;i<=m;i++)
  45. add(xx[i],yy[i],min(zz[i],mid));
  46. double tmp=flow();
  47. return Ans-tmp<eps;
  48. }
  49. int main(){
  50. init(),scanf("%d%d%d",&n,&m,&p);
  51. for(int i=1;i<=m;i++)
  52. scanf("%d%d%lf",&xx[i],&yy[i],&zz[i]),add(xx[i],yy[i],zz[i]);
  53. Ans=r=flow();
  54. while(r-l>eps){
  55. double mid=(l+r)/2;
  56. if(check(mid))r=mid;
  57. else l=mid;
  58. }
  59. printf("%d\n%lf\n",(int)Ans,l*p);
  60. }
  61. /*
  62. 7 9 1
  63. 1 2 3
  64. 1 3 3
  65. 2 3 3
  66. 3 4 2
  67. 3 5 2
  68. 3 6 1
  69. 4 7 2
  70. 5 7 2
  71. 6 7 2
  72. */

BZOJ 3130 二分+网络流的更多相关文章

  1. BZOJ 1305 二分+网络流

    思路: 建图我根本没有想到啊--. (我是不会告诉你我借鉴了一下题解的思路) 把每个人拆成喜欢的和不喜欢的点 男 喜欢 向 男 不喜欢 连 边权为k的边 如果男喜欢女 那么 男喜欢向 女喜欢 连 1 ...

  2. BZOJ 3130: [Sdoi2013]费用流 网络流+二分

    3130: [Sdoi2013]费用流 Time Limit: 10 Sec  Memory Limit: 128 MBSec  Special JudgeSubmit: 1230  Solved: ...

  3. BZOJ 3130 [Sdoi2013]费用流 ——网络流

    [题目分析] 很容易想到,可以把P放在流量最大的边上的时候最优. 所以二分网络流,判断什么时候可以达到最大流. 流量不一定是整数,所以需要实数二分,整数是会WA的. [代码] #include < ...

  4. hihoCoder 1389 Sewage Treatment 【二分+网络流+优化】 (ACM-ICPC国际大学生程序设计竞赛北京赛区(2016)网络赛)

    #1389 : Sewage Treatment 时间限制:2000ms 单点时限:2000ms 内存限制:256MB 描述 After years of suffering, people coul ...

  5. POJ 2455 Secret Milking Machine(搜索-二分,网络流-最大流)

    Secret Milking Machine Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9658   Accepted: ...

  6. BZOJ_3993_[SDOI2015]星际战争_二分+网络流

    BZOJ_3993_[SDOI2015]星际战争_二分+网络流 Description 3333年,在银河系的某星球上,X军团和Y军团正在激烈地作战.在战斗的某一阶段,Y军团一共派遣了N个巨型机器人进 ...

  7. 【bzoj3130】[Sdoi2013]费用流 二分+网络流最大流

    题目描述 Alice和Bob做游戏,给出一张有向图表示运输网络,Alice先给Bob一种最大流方案,然后Bob在所有边上分配总和等于P的非负费用.Alice希望总费用尽量小,而Bob希望总费用尽量大. ...

  8. 【bzoj1822】[JSOI2010]Frozen Nova 冷冻波 计算几何+二分+网络流最大流

    题目描述 WJJ喜欢“魔兽争霸”这个游戏.在游戏中,巫妖是一种强大的英雄,它的技能Frozen Nova每次可以杀死一个小精灵.我们认为,巫妖和小精灵都可以看成是平面上的点. 当巫妖和小精灵之间的直线 ...

  9. 【bzoj1733】[Usaco2005 feb]Secret Milking Machine 神秘的挤奶机 二分+网络流最大流

    题目描述 Farmer John is constructing a new milking machine and wishes to keep it secret as long as possi ...

随机推荐

  1. JDK+JDBC+MySQL实例及注意事项

    by qx.zhong Hangzhou 29 Jun 2014 开发环境 OS:  Win8.1 x64 JDK: 1.8 SE DB:  MySQL 5.5  Lib:  mysql-connec ...

  2. bzoj 1600 &amp; Usaco 月赛 2008 建造栅栏 题解

    [原题] 1600: [Usaco2008 Oct]建造栅栏 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 785  Solved: 443 [Subm ...

  3. AJAX核心--XMLHttpRequest五步法

    引言: AJAX=异步Javascript + XML,AJAX是一种用于创建高速动态网页的技术. 开门见山: 解读:AJAX使用XHTML和CSS为网页表示.DOM动态显示和交互,XML进行数据交换 ...

  4. UVALive 4225 / HDU 2964 Prime Bases 贪心

    Prime Bases Problem Description Given any integer base b >= 2, it is well known that every positi ...

  5. JSP中动态include与静态include的区别介绍

    转自:https://m.jb51.net/article/43304.htm 动态INCLUDE 用法:<jsp:include page="included.jsp" f ...

  6. 如何让一台IIS服务器实现多个网站https访问

    找到注册表项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\SslSniBindingInfo,将注册表值改 ...

  7. jsp表单验证格式

  8. HDU 1950 Bridging signals【最长上升序列】

    解题思路:题目给出的描述就是一种求最长上升子序列的方法 将该列数an与其按升序排好序后的an'求出最长公共子序列就是最长上升子序列 但是这道题用这种方法是会超时的,用滚动数组优化也超时, 下面是网上找 ...

  9. 3ds Max制作厨房贴图和纹理实例

    来源:CG游 使用软件:3ds Max 软件下载:www.xy3dsmax.com/xiazai.html 大家好,欢迎大家来阅读这个教程.这个教程是讲解我前不久制作的一个场景效果图.因为场景已经制作 ...

  10. Nginx 防止SQL注入、XSS攻击的实践配置方法

    下班的时候,发现博客访问缓慢,甚至出现504错误,通过 top -i 命令查看服务器负载发现负载数值飙升到3.2之多了,并且持续时间越来越频繁直至持续升高的趋势,还以为是被攻击了,对来访IP进行了阈值 ...