日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

EK算法网络流模板hdu1532

發布時間:2023/11/27 生活经验 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 EK算法网络流模板hdu1532 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

hdoj 1532是一道可以作為模板題目練手。

模板代碼:

[cpp]?view plaincopy print?
  1. #include?<cstdio>??
  2. #include?<cstring>??
  3. #include?<iostream>??
  4. #include?<string>??
  5. #include?<algorithm>??
  6. #include?<map>??
  7. #include?<vector>??
  8. using?namespace?std;??
  9. const?int?N?=?1100;??
  10. const?int?INF?=?0x3f3f3f3f;??
  11. ??
  12. struct?Node??
  13. {??
  14. ????int?to;//終點??
  15. ????int?cap;?//容量??
  16. ????int?rev;??//反向邊??
  17. };??
  18. ??
  19. vector<Node>?v[N];??
  20. bool?used[N];??
  21. ??
  22. void?add_Node(int?from,int?to,int?cap)??//重邊情況不影響??
  23. {??
  24. ????v[from].push_back((Node){to,cap,v[to].size()});??
  25. ????v[to].push_back((Node){from,0,v[from].size()-1});??
  26. }??
  27. ??
  28. int?dfs(int?s,int?t,int?f)??
  29. {??
  30. ????if(s==t)??
  31. ????????return?f;??
  32. ????used[s]=true;??
  33. ????for(int?i=0;i<v[s].size();i++)??
  34. ????{??
  35. ????????Node?&tmp?=?v[s][i];??//注意??
  36. ????????if(used[tmp.to]==false?&&?tmp.cap>0)??
  37. ????????{??
  38. ????????????int?d=dfs(tmp.to,t,min(f,tmp.cap));??
  39. ????????????if(d>0)??
  40. ????????????{??
  41. ????????????????tmp.cap-=d;??
  42. ????????????????v[tmp.to][tmp.rev].cap+=d;??
  43. ????????????????return?d;??
  44. ????????????}??
  45. ????????}??
  46. ????}??
  47. ????return?0;??
  48. }??
  49. ??
  50. int?max_flow(int?s,int?t)??
  51. {??
  52. ????int?flow=0;??
  53. ????for(;;){??
  54. ????????memset(used,false,sizeof(used));??
  55. ????????int?f=dfs(s,t,INF);??
  56. ????????if(f==0)??
  57. ????????????return?flow;??
  58. ????????flow+=f;??
  59. ????}??
  60. }??
  61. int?main()??
  62. {??
  63. ????int?n,m;??
  64. ????while(~scanf("%d%d",&n,&m))??
  65. ????{??
  66. ????????memset(v,0,sizeof(v));??
  67. ????????for(int?i=0;i<n;i++)??
  68. ????????{??
  69. ????????????int?x,y,z;??
  70. ????????????scanf("%d%d%d",&x,&y,&z);??
  71. ????????????add_Node(x,y,z);??
  72. ????????}??
  73. ????????printf("%d\n",max_flow(1,m));??
  74. ????}??
  75. }??

總結

以上是生活随笔為你收集整理的EK算法网络流模板hdu1532的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。