博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
图论(网络流):SCOI 2007 修车
阅读量:5111 次
发布时间:2019-06-13

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

  同一时刻有N位车主带着他们的爱车来到了汽车维修中心。维修中心共有M位技术人员,不同的技术人员对不同的车进行维修所用的时间是不同的。现在需要安排这M位技术人员所维修的车及顺序,使得顾客平均等待的时间最小。

  说明:顾客的等待时间是指从他把车送至维修中心到维修完毕所用的时间。

输入

  第一行有两个数M,N,表示技术人员数与顾客数。

  接下来n行,每行m个整数。第i+1行第j个数表示第j位技术人员维修第i辆车需要用的时间T。

 

输出

  最小平均等待时间,答案精确到小数点后2位。

样例

repair.in

2 2

3 2

1 4

repair.out

1.50

数据范围: (2<=M<=9,1<=N<=60), (1<=T<=1000)

 

  网上的题解好多都特别粗略,我走了好多弯路。

  所以决定写详细一点:把每个修理工变为N个点,表示倒数第1~N个修理的车,为啥是倒数呢?因为不知道一个人究竟修了几辆车,又因为倒数第一的总比倒数第二的更优,费用流会优先倒数第一的,再倒数第二的,所以用倒数的可以很好地解决。多么的巧妙!!!然后是这样建图的:S向每个人的每个倒数第几维修的点连一条流量为1,费用为0的边;接着再新建N个点,代表N辆车,每个人的每个倒数第几维修的点向其连一条流量为1,费用为(当前是倒数第i个的i)*(第j个人修第k辆车的时间);最后由N辆车的向T连容量为1,费用为0的边。

1 #include 
2 #include
3 #include
4 #include
5 using namespace std; 6 const int INF=1000000000; 7 const int maxn=1010,maxm=400010; 8 int cnt=1,fir[maxn],nxt[maxm],to[maxm]; 9 int cap[maxm],val[maxm],dis[maxn],path[maxn];10 11 void add(int a,int b,int c,int v){12 nxt[++cnt]=fir[a];to[cnt]=b;13 cap[cnt]=c;val[cnt]=v;fir[a]=cnt;14 }15 void addedge(int a,int b,int c,int v){16 add(a,b,c,v);17 add(b,a,0,-v);18 }19 20 int S,T;21 int vis[maxn];22 int Spfa(){23 deque
q;24 memset(dis,127,sizeof(dis));25 memset(vis,0,sizeof(vis));26 q.push_front(S);27 dis[S]=0;vis[S]=1;28 while(!q.empty()){29 int x=q.front();q.pop_front();vis[x]=0;30 for(int i=fir[x];i;i=nxt[i])31 if(cap[i]&&dis[x]+val[i]

 

转载于:https://www.cnblogs.com/TenderRun/p/5661559.html

你可能感兴趣的文章
java SE :标准输入/输出
查看>>
一些方便系统诊断的bash函数
查看>>
jquery中ajax返回值无法传递到上层函数
查看>>
css3之transform-origin
查看>>
[转]JavaScript快速检测浏览器对CSS3特性的支持
查看>>
Master选举原理
查看>>
[ JAVA编程 ] double类型计算精度丢失问题及解决方法
查看>>
小别离
查看>>
微信小程序-发起 HTTPS 请求
查看>>
WPF动画设置1(转)
查看>>
基于node/mongo的App Docker化测试环境搭建
查看>>
秒杀9种排序算法(JavaScript版)
查看>>
struts.convention.classes.reload配置为true,tomcat启动报错
查看>>
MySQL的并行复制多线程复制MTS(Multi-Threaded Slaves)
查看>>
好玩的-记最近玩的几个经典ipad ios游戏
查看>>
PyQt5--EventSender
查看>>
Sql Server 中由数字转换为指定长度的字符串
查看>>
Java 多态 虚方法
查看>>
Unity之fragment shader中如何获得视口空间中的坐标
查看>>
万能的SQLHelper帮助类
查看>>