BZOJ 1070 拆点 费用流

1070: [SCOI2007]修车

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 5860  Solved: 2487
[Submit][Status][Discuss]

Description

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

Input

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

Output

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

Sample Input

2 2
3 2
1 4

Sample Output

1.50
把修车师傅拆成 n*m个修车师傅 然后具体 //  还是看这里吧http://hzwer.com/2877.html
 1 #include<cstdio>
 2 #include<queue>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6 const int N=1000;
 7 const int M=5e5+88;
 8 const int INF=0x3f3f3f3f;
 9 int mp[88][11];
10 struct node{
11    int u,v,flow,cost,next;
12 }e[M];
13 int tot,head[N],pre[N],C[N],F[N],V[N],n,m;
14 void add(int u,int v,int flow,int cost){
15    e[tot].u=u;e[tot].v=v;e[tot].flow=flow;e[tot].cost=cost;e[tot].next=head[u];head[u]=tot++;
16    e[tot].u=v;e[tot].v=u;e[tot].flow=0;e[tot].cost=-cost;e[tot].next=head[v];head[v]=tot++;
17 }
18 int SPFA(int s,int t){
19     memset(pre,-1,sizeof(pre));
20     for(int i=1;i<=t+1;++i) F[i]=0,C[i]=INF,V[i]=0;
21     queue<int>Q;
22     Q.push(s);
23     C[0]=0,F[0]=INF,V[0]=1;
24     while(!Q.empty()){
25         int u=Q.front();
26         Q.pop();
27         V[u]=0;
28         for(int i=head[u];i+1;i=e[i].next){
29             int v=e[i].v,f=e[i].flow,c=e[i].cost;
30             if(f>0&&C[v]>C[u]+c) {
31                 C[v]=C[u]+c;
32                 pre[v]=i;
33                 F[v]=min(f,F[u]);
34                 if(!V[v]) V[v]=1,Q.push(v);
35             }
36         }
37     }
38     return F[t];
39 }
40 int MCMF(int s,int t){
41     int ans=0,temp;
42     while(temp=SPFA(s,t)){
43         for(int i=pre[t];i+1;i=pre[e[i].u]) {
44             ans+=temp*e[i].cost;
45             e[i].flow-=temp;
46             e[i^1].flow+=temp;
47         }
48     }
49     return ans;
50 }
51 int main(){
52    memset(head,-1,sizeof(head));
53    scanf("%d%d",&m,&n);
54    for(int i=1;i<=n;++i)
55     for(int j=1;j<=m;++j)
56     scanf("%d",&mp[i][j]);//mp[i][j],顾客--修车人员
57    int st=0,ed=m*n+n+1;
58    for(int i=1;i<=n*m;++i) add(0,i,1,0);
59     for(int i=n*m+1;i<=n*m+n;++i) add(i,ed,1,0);
60     for(int i=1;i<=m;++i)
61         for(int j=1;j<=n;++j)
62         for(int k=1;k<=n;++k)
63        add((i-1)*n+j,n*m+k,1,mp[k][i]*j);
64     int ct=MCMF(st,ed);
65     printf("%.2f\n",double(ct)/n);
66 }

 

转载于:https://www.cnblogs.com/mfys/p/7182910.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/252315.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式之数据库和缓存双写一致性方案解析

先做一个说明&#xff0c;从理论上来说&#xff0c;给缓存设置过期时间&#xff0c;是保证最终一致性的解决方案。这种方案下&#xff0c;我们可以对存入缓存的数据设置过期时间&#xff0c;所有的写操作以数据库为准&#xff0c;对缓存操作只是尽最大努力即可。也就是说如果数…

使用python从csv文件中读入两列拟合直线

背景&#xff1a;要判断跟踪算法在控制目标物走直线的情况下跟踪的轨迹是否为直线&#xff0c;我保存下来跟踪算法跟踪到的目标的中心点在图像上的像素位置&#xff0c;然后拟合出穿过这些点的直线&#xff0c;然后计算这些点距离直线的平均距离来判断跟踪的精度。&#xff08;…

window document

1 打开一个新窗口 var newDocwindow.open("text/html","replace");var txt"<html><body>Learning about the DOM is FUN!</body></html>";newDoc.document.write(txt);newDoc.close(); //该方法将关闭 open() 方法打开…

‘(‘:illegal token on right side of ‘::‘

背景&#xff1a;想整理升级一下代码&#xff0c;添加了两个类&#xff0c;再一编译代码&#xff0c;出现了好多这样的错误提示“(:illegal token on right side of ::”&#xff0c;我很纳闷这是啥问题&#xff0c;我就使用“注释法”来定位出错的位置&#xff0c;我发现把所有…

mysql-数据库操作

doc界面操作mysql:<br/> 以phpstudy为例 登录数据库&#xff1a;进入phpstudy/mysql/bin下&#xff0c;mysql -u用户名 -p密码 选择数据库&#xff1a;use 数据库名; 设置编码格式&#xff1a;set names gbk; 查看表结构或字段信息&#xff1a;desc 表名; 建立数据库&…

虹软免费人脸识别SDK注册指南

2019独角兽企业重金招聘Python工程师标准>>> 成为开发者三步完成账号的基本注册与认证&#xff1a; STEP1:点击注册虹软AI开放平台右上角注册选项&#xff0c;完成注册流程。 STEP2:首次使用&#xff0c;登录后进入开发者中心&#xff0c;点击账号管理完成企业或者个…

Mybatis使用statementType=STATEMENT实现动态传入表名或字段名

mybatis中使用statementType"STATEMENT"实现动态传入字段名时一直报语句错误&#xff0c;但实际上语句并没有毛病&#xff0c;爬了一天坑才找到问题&#xff0c;记录一下。 整条语句中里所有传入的值都要使用${xxx},不能使用#{xxx}。 <select id"listMap&quo…

C++中的类加多线程代码修炼

背景&#xff1a;现在在做一个目标跟踪的项目&#xff0c;需要实时的从工业相机中获取图像&#xff0c;然后再跟踪图像上的目标物&#xff0c;由于起初为了测试跟踪算法&#xff0c;就把“从相机获取图像”和“跟踪处理”都放在了主线程中&#xff0c;在实际测试时&#xff0c;…

Activity Monitor 闪退 无法进入睡眠

Activity Monitor 闪退 & 无法进入睡眠 情况描述 黑苹果主机突然无法进入睡眠。 考虑到可能是后台程序阻碍了系统正常进入睡眠&#xff0c; 于是想要通过Activity Monitor查看系统的活动情况&#xff0c;然而&#xff0c;Activity Monitor闪退。 重新开机&#xff0c;快速…

hbase中清空整张表的数据

hbase(main):005:0> truncate fr:test Truncating FaceBase table (it may take a while):- Disabling table...- Dropping table...- Creating table...0 row(s) in 14.4220 seconds truncate是disable、drop、create三个动作的自动化集成。转载于:https://www.cnblogs.com…

hibernate树

1. 树实现通过pid进行指向上一层来实现&#xff0c;实体类代码如下 package com.test.model;import java.util.HashSet; import java.util.Set;import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.per…

Sleep() sleep() usleep()

Linux: sleep(n); //停留n秒 usleep(n); //停留n微秒 Windows: Sleep(n); //停留n毫秒

vue的鼠标移入和移出

vue的鼠标移入和移出 需求&#xff08;鼠标到预约二维码显示&#xff0c;预约添加背景色&#xff09; 实现 <!--html部分--> <ul class"person_list"> //五个li标签皆是循环渲染出来的<li class"item" v-for"(n,index) in 5">…

聊聊flink的MemoryPool

为什么80%的码农都做不了架构师&#xff1f;>>> 序 本文主要研究一下flink的MemoryPool MemoryPool flink-runtime_2.11-1.7.2-sources.jar!/org/apache/flink/runtime/memory/MemoryManager.java abstract static class MemoryPool {abstract int getNumberOfAvai…

day4

ti很简单&#xff0c;但是把变量弄错了&#xff0c;写了不到半小时&#xff0c;调了一小时&#xff0c;导致t3功亏一篑。 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<queue> #include<vector> …

C++中public protected private的区别

1. 不考虑继承关系时 本类方法使用外部使用private是否protected是否public是是 2. 有继承关系时 子类方法使用外部private否否protected是否public是是 结论&#xff1a;基于以上两个表格可以知道&#xff0c;C中的protected处于private和public中间&#xff0c; protected 既…

表达式求值

表达式求值问题 ①问题描述 表达式是数据运算的基本形式。人们的书写习惯是中缀式&#xff0c;如&#xff1a;1122*(7-4)/3。中缀式的计算按运算符的优先级及括号优先的原则&#xff0c;相同级别从左到右进行计算。表达式还有后缀式&#xff08;如&#xff1a;22 7 4 - * 3 / 1…

PHP_SELF变量解析和重复路径解决

最近升级PHP到PHP7版本&#xff0c;并重新部署了新的Nginx&#xff0c;启动的时候发现了一个问题&#xff0c;全局变量$_SERVER[PHP_SELF]的值发生了改变&#xff0c;从而影响到代码的功能。因此我们来了解下$_SERVER全局变量中的PHP_SELF/PATH_INFO/SCRIPT_NAME等参数以及其关…

pep 8 规范的一些记录

一、pep8起源 龟叔创立Python的初衷里就有创立一个容易阅读的编程语言&#xff0c;所以亲自操刀写了pep8 代码规范&#xff0c;每个项目开始前都要有一个共识&#xff0c;就是自己的代码规范&#xff0c;pep8 就是一个很好的范本。 二、官网链接 https://www.python.org/dev/pe…

C++中的类加多线程代码修炼之二

背景&#xff1a;在上一篇文章中 写到了我第一次使用C使用多个类多个线程进行编程&#xff0c;由于是第一接手“这么大一个工程”&#xff0c;所以还是要有个参照物的&#xff0c;由于我呢之前好几年一直在看的一个C代码工程就是ORB-SLAM了&#xff0c;这个工程使用C语言&#…