网络流/最小割


  我不会告诉你这题跟 BZOJ 1934 是一模一样的……包括数据范围……

  1. /**************************************************************
  2. Problem: 2768
  3. User: Tunix
  4. Language: C++
  5. Result: Accepted
  6. Time:32 ms
  7. Memory:4408 kb
  8. ****************************************************************/
  9.  
  10. //BZOJ 2768
  11. #include<vector>
  12. #include<cstdio>
  13. #include<cstring>
  14. #include<cstdlib>
  15. #include<iostream>
  16. #include<algorithm>
  17. #define rep(i,n) for(int i=0;i<n;++i)
  18. #define F(i,j,n) for(int i=j;i<=n;++i)
  19. #define D(i,j,n) for(int i=j;i>=n;--i)
  20. #define pb push_back
  21. using namespace std;
  22. inline int getint(){
  23. int v=,sign=; char ch=getchar();
  24. while(ch<''||ch>''){ if (ch=='-') sign=-; ch=getchar();}
  25. while(ch>=''&&ch<=''){ v=v*+ch-''; ch=getchar();}
  26. return v*sign;
  27. }
  28. const int N=,M=,INF=~0u>>;
  29. typedef long long LL;
  30. /******************tamplate*********************/
  31. int n,m;
  32. struct edge{
  33. int from,to,v;
  34. };
  35. inline int pack(int i,int j){return (i-)*m+j;}
  36. struct Net{
  37. edge E[M];
  38. int head[N],next[M],cnt;
  39. void add(int x,int y,int v){
  40. E[++cnt]=(edge){x,y,v};
  41. next[cnt]=head[x]; head[x]=cnt;
  42. E[++cnt]=(edge){y,x,};
  43. next[cnt]=head[y]; head[y]=cnt;
  44. }
  45. int s,t,cur[N],d[N],Q[N];
  46. void init(){
  47. n=getint();m=getint();
  48. cnt=;
  49. s=; t=n+;
  50. F(i,,n)
  51. if (getint()) add(s,i,);
  52. else add(i,t,);
  53. int x,y;
  54. F(i,,m){
  55. x=getint(); y=getint();
  56. add(x,y,);
  57. add(y,x,);
  58. }
  59. }
  60. bool mklevel(){
  61. memset(d,-,sizeof d);
  62. d[s]=;
  63. int l=,r=-;
  64. Q[++r]=s;
  65. while(l<=r){
  66. int x=Q[l++];
  67. for(int i=head[x];i;i=next[i])
  68. if (d[E[i].to]==- && E[i].v){
  69. d[E[i].to]=d[x]+;
  70. Q[++r]=E[i].to;
  71. }
  72. }
  73. return d[t]!=-;
  74. }
  75. int dfs(int x,int a){
  76. if (x==t||a==) return a;
  77. int flow=;
  78. for(int &i=cur[x];i && flow<a;i=next[i])
  79. if (d[E[i].to]==d[x]+ && E[i].v){
  80. int f=dfs(E[i].to,min(a-flow,E[i].v));
  81. E[i].v-=f;
  82. E[i^].v+=f;
  83. flow+=f;
  84. }
  85. if (!flow) d[x]=-;
  86. return flow;
  87. }
  88. int Dinic(){
  89. int flow=;
  90. while(mklevel()){
  91. F(i,s,t) cur[i]=head[i];
  92. flow+=dfs(s,INF);
  93. }
  94. return flow;
  95. }
  96. }G1;
  97. int main(){
  98. #ifndef ONLINE_JUDGE
  99. freopen("2768.in","r",stdin);
  100. freopen("2768.out","w",stdout);
  101. #endif
  102. G1.init();
  103. printf("%d\n",G1.Dinic());
  104. return ;
  105. }

【BZOJ】【2768】【JLOI2010】冠军调查的更多相关文章

  1. BZOJ 2768: [JLOI2010]冠军调查 最小割

    2768: [JLOI2010]冠军调查 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=2768 Description 一年一度的欧洲足 ...

  2. bzoj 2768: [JLOI2010]冠军调查

    #include<cstdio> #include<iostream> #define M 100000 #include<cstring> using names ...

  3. 2768: [JLOI2010]冠军调查( 最小割 )

    最小割... 怎么乱搞都可以 -------------------------------------------------------------------------------- #inc ...

  4. BZOJ2768: [JLOI2010]冠军调查

    2768: [JLOI2010]冠军调查 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 484  Solved: 332[Submit][Status ...

  5. BZOJ-2768: [JLOI2010]冠军调查(超级裸的最小割)

    2768: [JLOI2010]冠军调查 Time Limit: 10 Sec  Memory Limit: 128 MB Description 一年一度的欧洲足球冠军联赛已经进入了淘汰赛阶段.随着 ...

  6. bzoj2768: [JLOI2010]冠军调查(双倍经验最小割)

    2768: [JLOI2010]冠军调查 题目:传送门 题解: 双倍经验(1934) 代码: #include<cstdio> #include<cstring> #inclu ...

  7. 【BZOJ2768】[JLOI2010]冠军调查/【BZOJ1934】[Shoi2007]Vote 善意的投票 最小割

    [BZOJ2768][JLOI2010]冠军调查 Description 一年一度的欧洲足球冠军联赛已经进入了淘汰赛阶段.随着卫冕冠军巴萨罗那的淘汰,英超劲旅切尔西成为了头号热门.新浪体育最近在吉林教 ...

  8. P2057 [SHOI2007]善意的投票 / [JLOI2010]冠军调查

    P2057 [SHOI2007]善意的投票 / [JLOI2010]冠军调查 拿来练网络流的qwq 思路:如果i不同意,连边(i,t,1),否则连边(s,i,1).好朋友x,y间连边(x,y,1)(y ...

  9. [JLOI2010]冠军调查 BZOJ2768 最小割

    题目描述 一年一度的欧洲足球冠军联赛已经进入了淘汰赛阶段.随着卫冕冠军巴萨罗那的淘汰,英超劲旅切尔西成为了头号热门. 新浪体育最近在吉林教育学院进行了一次大规模的调查,调查的内容就是关于切尔西能否在今 ...

  10. 【bzoj2768/bzoj1934】[JLOI2010]冠军调查/[Shoi2007]Vote 善意的投票 最小割

    bzoj2768 题目描述 一年一度的欧洲足球冠军联赛已经进入了淘汰赛阶段.随着卫冕冠军巴萨罗那的淘汰,英超劲旅切尔西成为了头号热门.新浪体育最近在吉林教育学院进行了一次大规模的调查,调查的内容就是关 ...

随机推荐

  1. DOS 批处理 修改xml文件

    之前对批处理和dos只停留在cd ping ipconfig水平,我以为改个文件应该很简单吧,把文件读出来做个替换再写回去不就欧了,百度个例子改改,那还不是分分钟的事,哪知道事实比想的要复杂的多. 我 ...

  2. 使用jquery插件报错:TypeError:$.browser is undefined的解决方法

    关于$.browser browser就是用来获取浏览器基本信息的. jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.sup ...

  3. 如何用ASP.NET实现bosh模拟http双向长连接请求

    在做研究之前先简单说一下之前公司的通讯模块.最早的时候公司开发的web管理系统是需要配合c++桌面客户端进行一些系统底层操作,并非普通的b/s架构,或者c/s架构,因为需求是可以通过web管理系统向客 ...

  4. php中json_decode返回数组或对象的实例

    1.json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode — 对 JSON 格式的字符串进行 ...

  5. linux中Apache更Nginx环境配置教程

    想把Apache2.2换Nginx已经有些日子,今天给动手了.找了个稳定版本:1.4.1  http://nginx.org/download/nginx-1.4.1.zip 配置很简单,就是ngin ...

  6. 001.android初级篇之ToolBar

    官方的最新support library v7中提供了新的组件ToolBar,用来替代之前的ActionBar,实现更为弹性的设计在 material design 也对之做了名称的定义:App ba ...

  7. javascript将浮点数转换成整数的三个方法

    浮点数转换成整数方法有很多,本例为大家介绍常用的三个方法,如果读者想到其他好用方法,也可以交流一下   Summary 暂时我就想到3个方法而已.如果读者想到其他好用方法,也可以交流一下 parseI ...

  8. C#代码配置IIS 操纵IIS

    前言: IIS到目前经历了四个版本分别为 IIS4.0  IIS5.0 IIS6.0 IIS7.0,其中IIS6.0 IIS7.0是在5.0的安全问题的基础上获得的发展,目前为止.6.0版本以后的都是 ...

  9. 对象this、currentTarget和target

    在事件处理程序内部,对象this始终等于currentTarget的值,而target则只包含事件的实际目标.如果直接将事件处理程序指定给了目标元素,则this.currentTarget和targe ...

  10. 解决win7 下 curl无法加载的问题

    最近分别在WIN7和Windows8 上分别安装php 高版本!都遇到了这个问题! 一.win7系统64位, apache2.2, php 5.35 vc6 版本 这个比较容易: 1. phpinfo ...