巨坑网络流线性规划与网络流24题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了巨坑网络流线性规划与网络流24题相关的知识,希望对你有一定的参考价值。
2016.2.21
01。飞行员配对方案问题(习题 8-10)
每一条边连接外籍-国内飞行员,显然是一个二分图,最多出发的飞机数,对应着最多的边匹配。
问题转化为经典的二分图匹配问题,可以用匈牙利或者网络流。
源点和每一个外籍飞行员、每一个国内飞行员和汇点、每个可行的配合之间连接一条容量为1的有向边。
可以派出的最多飞机数就是这个网络的最大流
建图部分代码
1 for(;;){ 2 int a,b,c; 3 a=read();b=read(); 4 if(a==-1&&b==-1) break; 5 insert(a,b,1); 6 } 7 for(int i=1;i<=m;i++) insert(n+1,i,1); 8 for(int i=m+1;i<=n;i++) insert(i,n+2,1);
对于方案。。其实我们可以在增广的时候做标记的,但是反正比较懒套个模板嘛~
在时候枚举一下飞行员之间边,如果他的容量被修改为0了。那么这就是一对一对
1 for(int i=1;i<=m;i++){ 2 for(int j=last[i];j;j=e[j].next){ 3 if(e[j].v==0&&e[j].to<=n){ 4 printf("%d %d\n",i,e[j].to); 5 break; 6 } 7 } 8 }//2016.2.21
02 太空飞行计划问题
大概想了一下,连接实验和所需的实验器材,容量是inf,连接源点和每个实验,容量是实验经费,连接器材和汇点,容量是器材费用
然后算算好像答案是这个网络的最小割?写个最小割就好了
考虑对于每个实验,如果这个子图的割在器材-汇之间,说明他是赚钱的,否则是赔钱的(好像不太对?想不出证明) 2016.2.21
03
04
以上是关于巨坑网络流线性规划与网络流24题的主要内容,如果未能解决你的问题,请参考以下文章