很久之前写的题了,今天翻出来写一篇博客复习一下...

分析:

考虑,T <= 1000,并不能针对这一维处理,所以考虑将,每个人拆点,之后,拆完之后表示,这个人第n-j+1个修k这辆车,也就是,m*(i-1)+j向n*m+k连边,流量为1,费用为t[i][k]*j,之后建图跑费用流。

BZOJ上我之前跑过去了,但是现在改时间限制了...现在跑不过了...不过luogu上没有问题...

附上代码:

#include <cstdio>
#include <algorithm>
#include <iostream>
#include <queue>
#include <cmath>
#include <cstring>
using namespace std;
#define N 2005
#define S 0
#define T 2004
int head[N],cnt,n,m;
struct node
{
int to,next,val,flow,from;
}e[N*40];
inline void add(int x,int y,int z,int v)
{
e[cnt].from=x;
e[cnt].to=y;
e[cnt].next=head[x];
e[cnt].val=v;
e[cnt].flow=z;
head[x]=cnt++;
e[cnt].from=y;
e[cnt].to=x;
e[cnt].next=head[y];
e[cnt].val=-v;
e[cnt].flow=0;
head[y]=cnt++;
return ;
}
int vis[N],dis[N],que[N];
int fro[N];
int spfa()
{
memset(fro,-1,sizeof(fro));
memset(dis,0x3f,sizeof(dis));
int l=0,r=0;
que[r++]=S;
vis[S]=1;
dis[S]=0;
while(l<r)
{
int x=que[l++];
vis[x]=0;
for(int i=head[x];i!=-1;i=e[i].next)
{
int to1=e[i].to;
if(e[i].flow&&dis[to1]>dis[x]+e[i].val)
{
dis[to1]=dis[x]+e[i].val;
fro[to1]=i;
if(!vis[to1])
{
que[r++]=to1;
vis[to1]=1;
}
}
}
}
if(dis[T]>(1<<25))
{
return 0;
}
return 1;
}
inline void update(int i,int c)
{
e[i].flow-=c;
e[i^1].flow+=c;
return ;
}
int ans;
void mcf()
{
int i,x=1<<30;
i=fro[T];
while(i!=-1)
{
x=min(e[i].flow,x);
i=fro[e[i].from];
}
i=fro[T];
while(i!=-1)
{
e[i].flow-=x;
e[i^1].flow+=x;
ans+=x*e[i].val;
i=fro[e[i].from];
}
}
int t[105][105];
int main()
{
for(int i=0;i<N;i++)
{
head[i]=-1;
}
scanf("%d%d",&m,&n);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
scanf("%d",&t[i][j]);
}
}
for(int i=1;i<=n*m;i++)
{
add(0,i,1,0);
}
for(int i=n*m+1;i<=n*m+n;i++)
{
add(i,T,1,0);
}
for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++)
{
for(int k=1;k<=n;k++)
{
add((i-1)*n+j,m*n+k,1,t[k][i]*j);
}
}
}
while(spfa())
{
mcf();
}
printf("%.2lf\n",(1.0*ans)/(1.0*n));
return 0;
}

  

[SCOI2007]修车 BZOJ1070的更多相关文章

  1. 【BZOJ1070】[SCOI2007]修车

    [BZOJ1070][SCOI2007]修车 题面 以后要多写题面flag 题目描述 同一时刻有\(N\)位车主带着他们的爱车来到了汽车维修中心.维修中心共有\(M\)位技术人员,不同的技术人员对不同 ...

  2. 【BZOJ1070】[SCOI2007]修车 费用流

    [BZOJ1070][SCOI2007]修车 Description 同一时刻有N位车主带着他们的爱车来到了汽车维修中心.维修中心共有M位技术人员,不同的技术人员对不同的车进行维修所用的时间是不同的. ...

  3. [bzoj1070][SCOI2007]修车_费用流

    修车 bzoj-1070 SCOI-2007 题目大意:有m个人要修n台车,每个工人修不同的车的时间不同,问将所有的车都修完,最少需要花费的时间. 注释:$2\le m\le 9$,$1\le n \ ...

  4. [BZOJ1070][SCOI2007]修车 费用流

    1070: [SCOI2007]修车 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 6209  Solved: 2641[Submit][Status] ...

  5. bzoj1070: [SCOI2007]修车(费用流)

    1070: [SCOI2007]修车 题目:传送门 题解: 一道挺简单的费用流吧...胡乱建模走起 贴个代码... #include<cstdio> #include<cstring ...

  6. BZOJ 1070: [SCOI2007]修车 [最小费用最大流]

    1070: [SCOI2007]修车 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 4936  Solved: 2032[Submit][Status] ...

  7. 【BZOJ】1070: [SCOI2007]修车

    1070: [SCOI2007]修车 Description 同 一时刻有N位车主带着他们的爱车来到了汽车维修中心.维修中心共有M位技术人员,不同的技术人员对不同的车进行维修所用的时间是不同的.现在需 ...

  8. bzoj 1070: [SCOI2007]修车 费用流

    1070: [SCOI2007]修车 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 2785  Solved: 1110[Submit][Status] ...

  9. bzoj 1070 [SCOI2007]修车(最小费用最大流)

    1070: [SCOI2007]修车 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 3515  Solved: 1411[Submit][Status] ...

随机推荐

  1. SSM框架下的redis缓存

    基本SSM框架搭建:http://www.cnblogs.com/fuchuanzhipan1209/p/6274358.html 配置文件部分: 第一步:加入jar包 pom.xml <!-- ...

  2. Maven学习(二)使用命令创建maven项目

    创建maven项目 手动 严格参照约定目录结构,我们开始手动新增文件夹 命令方式 project项目 我们也可以使用maven自动生成目录: mvn archetype:generate -Dgrou ...

  3. 学习笔记(5)——实验室集群LVS监控Web界面配置

    症状:通过虚拟IP能访问到监控页面:http://192.168.253.110/ipvsadm.php,但是却无法读出LVS任务分发及集群负载信息. 打开ipvsadm.php页面,源码如下: &l ...

  4. 完美的nginx图片防盗链设置详解

    一般,我们做好防盗链之后其他网站盗链的本站图片就会全部失效无法显示,但是您如果通过浏览器直接输入图片地址,仍然会显示图片,仍然可以右键图片另存为下载文件!依然可以下载?这样就不是彻底的防盗链了! [r ...

  5. As3截图转换为ByteArray传送给后台node的一种方法

    最近将以前用As3+Php做的一个画板拿出来改成了As3+nodejs(expressjs4). Node: 1. 将图片存放的路径设置为静态公开的路径. app.use(express.static ...

  6. Oracle EBS AP 供应商API

    --创建供应商地址上的电话号码 created by jenrry 20170419 DECLARE l_return_status VARCHAR2(1); l_msg_count NUMBER; ...

  7. 转:35个让人惊讶的 CSS3 动画效果演示

    本文收集了35个惊人的 CSS3 动画演示,它们将证明 CSS3 Transform 和 Transition 属性的强大能力.CSS 是网页设计非常重要的一部分,随着越来越多的浏览器对 CSS3 支 ...

  8. UNIX高级环境编程(16)文件系统 < 雨后 >

    来点绿色放松一下眼睛吧 :) 文件系统是对文件和目录的组织集合. 一 设备文件 设备文件和系统的某个设备相对应. 设备驱动程序 处理设备的所有IO请求. 提供了一致的API接口,对应于系统调用的ope ...

  9. 【待补充】[Spark Core] Spark 实现标签生成

    0. 说明 在 IDEA 中编写 Spark 代码实现将 JSON 数据转换成标签,分别用 Scala & Java 两种代码实现. 1. 准备 1.1 pom.xml  <depend ...

  10. 内网DHCP攻击

    局域网内DHCP攻击 实验环境:两个win2008 r2虚拟机(一台用作正常的DHCP服务器,另一台用作伪造DHCP服务器),两个win7虚拟机(用作客户机),一个kali虚拟机(用作攻击,耗尽DHC ...