当前位置: 首页 > news >正文

江苏丹阳建设公司网站鄂州正规网站建设

江苏丹阳建设公司网站,鄂州正规网站建设,wordpress阅读权限插件,泰安房产网题目描述 现在小朋友们最喜欢喜羊羊与灰太狼,话说灰太狼抓羊不到#xff0c;但抓兔子还是比较在行的#xff0c;而且现在的兔子还比较笨#xff0c;它们只有两个窝#xff0c;现在你做为狼王#xff0c;面对下面这样一个网格的地形#xff1a;左上角点为(1,1… 题目描述 现在小朋友们最喜欢喜羊羊与灰太狼,话说灰太狼抓羊不到但抓兔子还是比较在行的而且现在的兔子还比较笨它们只有两个窝现在你做为狼王面对下面这样一个网格的地形  左上角点为(1,1),右下角点为(N,M)(上图中N3,M4).有以下三种类型的道路 1:(x,y)(x1,y) 2:(x,y)(x,y1) 3:(x,y)(x1,y1) 道路上的权值表示这条路上最多能够通过的兔子数道路是无向的。左上角和右下角为兔子的两个窝开始时所有的兔子都聚集在左上角(1,1)的窝里现在它们要跑到右下角(N,M)的窝中去狼王开始伏击这些兔子。当然为了保险起见如果一条道路上最多通过的兔子数为K狼王需要安排同样数量的K只狼才能完全封锁这条道路你需要帮助狼王安排一个伏击方案使得在将兔子一网打尽的前提下参与的狼的数量要最小。因为狼还要去找喜羊羊麻烦。 输入 第一行为N,M.表示网格的大小N,M均小于等于1000。 接下来分三部分 第一部分共N行每行M-1个数表示横向道路的权值。 第二部分共N-1行每行M个数表示纵向道路的权值。 第三部分共N-1行每行M-1个数表示斜向道路的权值。 输出 输出一个整数表示参与伏击的狼的最小数量。 样例输入 3 4 5 6 4 4 3 1 7 5 3 5 6 7 8 8 7 6 5 5 5 5 6 6 6 样例输出 14 题解 裸的最小割我转了转最大流跑Dinic。 记得连双向边。发现当前弧优化很优秀…… 1 #includecstdio2 #includecstring3 #define F(i,a,b) for(int ia;ib;i)4 #define F2(i,a,b) for(int ia;ib;i)5 #define v(a,b) ((a-1)*mb)6 int n,m,S,T;7 int h[1000001],nxt[6000001],to[6000001],cap[6000001],tot1;8 inline void ins(int x,int y,int c){nxt[tot]h[x];to[tot]y;cap[tot]c;h[x]tot;nxt[tot]h[y];to[tot]x;cap[tot]c;h[y]tot;}9 int iter[1000001],lv[1000001],que[1000001],l,r; 10 inline int Min(int p,int q){return pq?p:q;} 11 void init(){ 12 int x; 13 scanf(%d%d,n,m); S1, Tv(n,m); 14 F(i,1,n) F2(j,1,m) 15 scanf(%d,x), ins(v(i,j),v(i,j1),x); 16 F2(i,1,n) F(j,1,m) 17 scanf(%d,x), ins(v(i,j),v(i1,j),x); 18 F2(i,1,n) F2(j,1,m) 19 scanf(%d,x), ins(v(i,j),v(i1,j1),x); 20 } 21 bool lvl(){ 22 memset(lv,0,sizeof lv); 23 lv[S]1; que[1]S; lr1; 24 int u; 25 while(lr){ 26 uque[l]; 27 for(int ih[u];i;inxt[i]) 28 if(cap[i]!lv[to[i]]) lv[to[i]]lv[u]1, que[r]to[i]; 29 } if(!lv[T]) return 0; 30 F(i,S,T) iter[i]h[i]; 31 return 1; 32 } 33 int flow(int u,int f){ 34 if(uT) return f; 35 int d,sum0; 36 for(intiiter[u];i;inxt[i]){ 37 if(cap[i]lv[to[i]]lv[u]){ 38 dflow(to[i],Min(cap[i],f)); 39 sumd; f-d; 40 cap[i]-d; cap[i^1]d; 41 if(!f) return sum; 42 } 43 } 44 return sum; 45 } 46 int Dinic(){ 47 int sum0; 48 while(lvl()) 49 sumflow(S,999999999); 50 return sum; 51 } 52 int main(){ 53 init(); 54 printf(%d,Dinic()); 55 return 0; 56 }   转载于:https://www.cnblogs.com/PinkRabbit/p/7327131.html
http://www.huolong8.cn/news/140529/

相关文章:

  • c 做精品课程网站怎么做彩票网站
  • 做网站简单吗北京邢台企业商会网站
  • 网站流量统计分析的维度包括移动广告联盟
  • lol做框网站定制手机网站建设
  • 网站发布服务托管器网站服务器怎么看是哪个厂家的
  • 沙特网站后缀全国企业信用信息公示系统吉林
  • 公众号建设成小说网站电商网站开发技术难点
  • 网站seo排名微信号注册官方网站
  • 专业开发网站企业网页设计作业动漫网页
  • 公司网站的实例睢宁微网站开发
  • 做视频网站需要什么资质百度收录接口
  • 麻辣烫配方教授网站怎么做建设部网站投诉核查企业名单
  • 网站恶意刷wordpress 文章行距
  • 钉钉网站建设服务协议提供佛山顺德网站设计
  • 做网站都需要考虑哪些ui私活20个页面以上多少钱
  • 基于php+mysql的网站开发一学一做看视频网站有哪些
  • 如何构建一个电子商务网站现在比较流行的软件开发模型
  • 在别人网站做的友链_为何百度检测带后缀cnindex.asp低版本微信ios安装包
  • 建设网站合同手机做wordpress
  • 建设网站前准备资料自动的网站制作
  • 松江网站建设平台每天能赚30 50元的
  • 河南便宜网站建设价格低互联网营销行业
  • 视频网站源码下载ps软件下载手机版
  • 网站代运营深圳百度关键字优化
  • 邢台wap网站建设费用做网站个人备案
  • 厦门建设网站索牛网站建设
  • 做网站首页的表格的代码温州seo推广公司
  • 网站正在建设中a _手机版做骗子曝光网站是否违法
  • 浙江虎霸建设机械有限公司网站贵州省城乡建设部官方网站
  • 烟台做网站打电话话术为什么什么网站都在维护