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.pswp.cn/news/252315.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/252315.shtml
英文地址,請注明出處:http://en.pswp.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語言&#…