博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj1638[Usaco2007 Mar]Cow Traffic (first code)
阅读量:6689 次
发布时间:2019-06-25

本文共 1454 字,大约阅读时间需要 4 分钟。

求出走到每个点有的方法数a[i],再求出每个点到终点的方法数b[i]。 每条边走的 次数=a[u[i]]*b[v[i]] 。 可以用类spfa按照拓扑序求a[i],把入度为0的点都入栈然后a[e[j]]=a[e[j]]+a[q[h]] 求b[i]可以把边反向重新spfa一遍。 [toggle Title="code "] [pascal] uses math; var u,v,rud,next,e,head:Array[1..50000]of longint; f,ff:array[1..50000]of int64; ans:int64; i,j,n,m,ee,h,t:longint; a:array[1..100000]of longint; procedure swap(var aa,bb:longint); var tt:longint; begin tt:=aa;aa:=bb;bb:=tt; end; procedure add(u,v:longint); begin inc(ee);next[ee]:=head[u];head[u]:=ee;e[ee]:=v; end; begin readln(n,m); for i:=1 to m do begin readln(u[i],v[i]); if u[i]>v[i] then swap(u[i],v[i]); add(u[i],v[i]); inc(rud[v[i]]); end; h:=1; t:=0; for i:=1 to n do if rud[i]=0 then begin inc(t);a[t]:=i;f[i]:=1; end; while h<=t do begin j:=head[a[h]]; while j<>0 do begin f[e[j]]:=f[e[j]]+f[a[h]]; dec(rud[e[j]]); if rud[e[j]]=0 then begin inc(t);a[t]:=e[j]; end; j:=next[j]; end; inc(h); end; fillchar(head,sizeof(head),0);ee:=0; fillchar(rud,sizeof(rud),0); for i:=1 to m do begin add(v[i],u[i]); inc(rud[u[i]]); end; h:=1; t:=0; for i:=1 to n do if rud[i]=0 then begin inc(t);a[t]:=i;ff[i]:=1; end; while h<=t do begin j:=head[a[h]]; while j<>0 do begin ff[e[j]]:=ff[e[j]]+ff[a[h]]; dec(rud[e[j]]); if rud[e[j]]=0 then begin inc(t);a[t]:=e[j]; end; j:=next[j]; end; inc(h); end; for i:=1 to m do if f[u[i]]*ff[v[i]]>ans then ans:=f[u[i]]*ff[v[i]]; writeln(ans); end. [/pascal] [/toggle]

转载于:https://www.cnblogs.com/lbz007oi/archive/2013/03/19/3067345.html

你可能感兴趣的文章
资深阿里程序猿深入讲解《微服务架构在阿里的演化》
查看>>
学习笔记|AS入门(五) 高级控件篇(下)
查看>>
企业分布式微服务云SpringCloud SpringBoot mybatis (十)Spring Boot多数据源配置与使用Spring-data-jpa支持...
查看>>
【CLI】使用 Curl 下载文件实时进度条显示
查看>>
数据结构(二)LinkedList源码分析
查看>>
ES6, Angular,React和ABAP中的String Template(字符串模板)
查看>>
TiDB 源码阅读系列文章(十三)索引范围计算简介
查看>>
jsonp跨域获取数据实现百度搜索
查看>>
Android 滤镜效果和颜色通道过滤
查看>>
input type="file"使用
查看>>
获取系统时间
查看>>
Tomcat9的启动和终止
查看>>
OpenHub——一个开源的GitHub Android客户端,MD风格,支持主题、主颜色、语言切换,SO COOL的语法高亮...
查看>>
IM即时通讯项目讲解(二) 自定义实现图片选择GalleryView
查看>>
JVM学习笔记——初识JVM
查看>>
深入分析 Javac 编译原理
查看>>
揭开js之constructor属性的神秘面纱
查看>>
媒体查询,在不同屏幕上,使块宽度为百分之百并且使块的宽度为50%,使块的宽度为整屏?...
查看>>
[译] 探究 Swift 中的 Futures & Promises
查看>>
windowSoftInputMode属性详解
查看>>