水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. FreeBSD系统更新与软件安装方法

    一.系统更新 freebsd-update fetch freebsd-update install 二.软件源更新(类似yum update.apt-get update) 1.取回源 portsn ...

  2. 简单地使用jquery的validate

    简单地使用jquery的validate ——@梁WP 摘要:本文通过一个很简单的例子,讲解了jquery validate的最基础使用方式. 一.源代码 注意事项都写在代码的注释里了,哈哈. < ...

  3. CSS样式表其它知识点

    1.cursor:pointer鼠标放到上面变形状,pointer为手 2.margin:auto 页面居中 3.显示方式:dispaly:none不显示/block 块换行/inline在一行上,宽 ...

  4. build/envsetup.sh内lunch解析

    ........ # 测试device是否存在且是一个目录 并且 只查找device目录4层以上的子目录,名字为vendorsetup.sh 并且 将命令执行的错误报告直接送往回收站 不显示在屏幕上 ...

  5. JDK1.8 Lambda

    1.模拟Model /** * Author:JsonLu * DateTime:16/12/8 14:01 * Email:jsonlu@qq.com * Desc: */ public class ...

  6. Java 输入

    1.使用Scanner 使用时需要引入包import java.util.Scanner;首先定义Scanner对象 Scanner sc = new Scanner(System.in);如果要输入 ...

  7. Android - 向服务器发送数据(GET).

    在此,使用HTTP协议,通过GET请求,向服务器发送请求,这种方式适合于数据量小,数据安全性要求不高的情况下. 一,服务器端,使用Servlet. 在服务器端,定义一个HttpServlet的子类,以 ...

  8. Unix时间戳 和 NSDate 的转换

    一个时间戳字符串:NSString *timeStampStr =  @"1441602721"; 转换成时间     double unixTimeStamp          ...

  9. 读懂IL代码(四)

    这一篇是IL系列的最后一篇的,主要是要说一下IL中的流程控制.我相信,经过前面三篇的介绍,看IL代码应该不是什么大问题了吧.好吧,闲话不多说了,就来简单的说一下吧. 还是跟前几篇一样,以例子来解释说明 ...

  10. 嵌入式web server——Goahead移植要点

    前言 在嵌入式设备中,在没有液晶显示的情况下,可以使用web来访问设备,查看设备的运行状态以及进行参数设置,类似于路由器设置.网上有很多关于各种web server的优劣的评论,在此不讨论,只是介绍其 ...