【bzoj1070 修车】
题目描述:
同一时刻有N位车主带着他们的爱车来到了汽车维修中心。维修中心共有M位技术人员,不同的技术人员对不同的车进行维修所用的时间是不同的。现在需要安排这M位技术人员所维修的车及顺序,使得顾客平均等待的时间最小。 说明:顾客的等待时间是指从他把车送至维修中心到维修完毕所用的时间。
数据范围:
2<=M<=9,1<=N<=60
题解:
现在先假装只有一个技术人员修n辆车,那么等待总时间为a1+(a1+a2)+(a1+a2+a3)+...(a1+a2+a3+..+an)=a1*n+a2*(n-1)+a3*(n-2)+...an*1
每个技术人员拆成N个点,第i个点表示这修某辆车的次序k=N-i+1(倒序),每个然后S向每辆车连f为1,w=0的边,然后每辆车向每个人连w=k*修车时间,f=1的边。最后每个人向T连w=0,f=1的边。
最大流可以保证所有车被修。然后跑费用流就好了。