水dp,状态表示三个司机当前在哪所用最小耗油,因为有一个一定在当前点所以可以压掉一维

 var f,w,d:array[..,..] of longint;
    a:array[..] of longint;
    x,y,i,j,k,n,ans:longint; function min(a,b:longint):longint;
  begin
    if a>b then exit(b) else exit(a);
  end; procedure clear;
  var i,j:longint;
  begin
    for i:= to n do
      for j:=i to n do
        f[i,j]:=;
  end; procedure get(a,b:longint);
  begin
    if a>b then
    begin
      x:=b;
      y:=a;
    end
    else begin
      x:=a;
      y:=b;
    end;
  end; begin
  readln(n);
  for i:= to n do
  begin
    for j:= to n do
    begin
      read(d[i,j]);
      w[i,j]:=;
    end;
    readln;
  end;
  w[,]:=;
  a[]:=;
  i:=;
  while not eoln do
  begin
    inc(i);
    read(a[i]);
    clear;
    for j:= to n do
      for k:=j to n do
      begin
        f[j,k]:=min(f[j,k],w[j,k]+d[a[i-],a[i]]);
        get(a[i-],j);
        f[x,y]:=min(f[x,y],w[j,k]+d[k,a[i]]);
        get(a[i-],k);
        f[x,y]:=min(f[x,y],w[j,k]+d[j,a[i]]);
      end;
    w:=f;
  end;
  ans:=;
  for i:= to n do
  begin
    for j:=i to n do
      ans:=min(ans,f[i,j]);
  end;
  writeln(ans);
end.

bzoj1820的更多相关文章

  1. 【BZOJ1820】[JSOI2010]快递服务(动态规划)

    [BZOJ1820][JSOI2010]快递服务(动态规划) 题面 BZOJ 洛谷 题解 考虑无脑四维\(dp\).\(f[i][a][b][c]\),表示当前处理到第\(i\)个任务,三辆车的位置分 ...

  2. 【BZOJ1820】[JSOI2010]Express Service 快递服务 暴力DP

    [BZOJ1820][JSOI2010]Express Service 快递服务 Description 「飞奔」快递公司成立之后,已经分别与市内许多中小企业公司签订邮件收送服务契约.由于有些公司是在 ...

  3. bzoj千题计划201:bzoj1820: [JSOI2010]Express Service 快递服务

    http://www.lydsy.com/JudgeOnline/problem.php?id=1820 很容易想到dp[i][a][b][c] 到第i个收件地点,三个司机分别在a,b,c 收件地点的 ...

  4. BZOJ1820:[JSOI2010]Express Service 快递服务(DP)

    Description 「飞奔」快递公司成立之后,已经分别与市内许多中小企业公司签订邮件收送服务契约.由于有些公司是在同一栋大楼内,所以「飞奔」公司收件的地点(收件点)最多只有m点 (1, 2, …, ...

  5. [bzoj1820][JSOI2010][Express Service 快递服务] (动态规划)

    Description 「飞奔」快递公司成立之后,已经分别与市内许多中小企业公司签订邮件收送服务契约.由于有些公司是在同一栋大楼内,所以「飞奔」公司收件的地点(收件点)最多只有m点 (1, 2, …, ...

  6. [JSOI2010]快递服务

    Description Luogu4046 BZOJ1820 Solution 暴力DP很好想,\(f[i][j][k][l]\)表示处理到第\(i\)个任务,三个人在\(i,j,k\)的方案数.显然 ...

随机推荐

  1. 使用API在DigitalOcean上创建VPS

    1.生成Personal Access Token(API-Token) 密钥类似如下格式: 81d58e36224b63fc2gedac14342d0cfb16vf5451c798b2a38f976 ...

  2. css中判断IE版本的语句

    css中判断IE版本的语句<!--[if gte IE 6]> Only IE 6/+ <![endif]-->: 1. <!--[if !IE]> 除IE外都可识 ...

  3. 自动显示git分支--安装oh-my-zsh(Ubuntu环境)

    1,安装zsh sudo apt-get install zsh 2,克隆项目 git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh- ...

  4. 自己做的demo--左连接

    下面四张表是数据库中已经有的数据: 第一步: 1.left join左连接,left outer join 左外连接,只是写法不同,相同的概念. 2.左连接查出来的结果是一定包含left关键字左边的表 ...

  5. ASP.NET MVC——Controller的激活

    Controller的激活是根据在路由过程得到的Controller名称来创建对应的Controller对象.相关类如图: Controller激活的过程可通过如下序列图表示: 代码示例如下: str ...

  6. CSS图片去色

    .imgFilter { filter: grayscale(100%); -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); ...

  7. C++线程类的封装

    简单的C++线程操作的封装,使用了智能指针管理对象的释放. 可运行对象基类 class SimpleRunable:public RefCountedBase { public: SimpleRuna ...

  8. upgrade和update的区别

    以前一直没搞清这二个词的意思,特别是linux软件管理的时候,用update和upgrade一直没弄明白,后来终于查清: upgrade一般是指比较重要的升级,或者说是主要的,单独版本的升级,其中软件 ...

  9. 原生JavaScript 获取下一个/上一个同胞元素

    看JavaScript遇到的问题,研究了下 获取上一个或者下一个同胞元素,使用很多人会立马想到JQuery  prev() 和 next() 的确非常方便.那么原生的JavaScript该怎么获取 上 ...

  10. iOS 从C移植项目到Objective-C

    一.新建项目 iOS | Framework & Library Cocoa Touch Static Library 新建一个Library库 1. M.h头文件 #ifndef M_h # ...