2013-09-11 09:56

W[I]代表前I天能取得的最小花费,假设在第J天更改一次路线,那么如果有

W[I]>W[J]+第j+1到第I天的最小花费+更改路线的花费(K) 那么更新W[I];

用最短路求第J+1到I的最短路*(I-J),边界则是W[1]=0;

因为最开始的路线不用更改(就是最初的路线不算在更改的费用中),这个

方程默认第一次的路线就是更改后的,多加了一次K,所以最后输出W[I]-K;

//By BLADEVIL
var
connect :array[..,..] of longint;
n, m, k, e, ch :longint;
c :array[..,..] of longint;
w :array[..] of longint;
d :array[..] of longint;
vis :array[..] of boolean; procedure init;
var
i, j :longint;
x, y, z :longint;
begin
assign(input,'santajs.in'); reset(input);
assign(output,'santajs.out'); rewrite(output);
read(n,m,k,e);
fillchar(connect,sizeof(connect),);
for i:= to e do
begin
read(x,y,z);
if z<connect[x,y] then
begin
connect[x,y]:=z;
connect[y,x]:=z;
end;
end;
read(ch);
for i:= to ch do
begin
read(x,y,z);
for j:=y to z do
begin
inc(c[j,]);
c[j,c[j,]]:=x;
end;
end;
end; function dijkstra(s,t:longint):longint;
var
i, j, max, k :longint;
begin
fillchar(vis,sizeof(vis),false);
for i:= to m do d[i]:=maxlongint;
d[]:=;
for i:=s to t do
for j:= to c[i,] do
vis[c[i,j]]:=true; for i:= to m- do
begin
max:=maxlongint;
for j:= to m do
if (not vis[j]) and (d[j]<max) then
begin
k:=j;
max:=d[j];
end;
vis[k]:=true;
for j:= to m do if d[j]>d[k]+connect[k,j] then d[j]:=d[k]+connect[k,j];
end;
exit(d[m]);
end; procedure dp;
var
i, j, x :longint;
begin
for i:= to n do
begin
w[i]:=maxlongint div ;
for j:= to i- do
begin
x:=dijkstra(j+,i);
if x> then continue;
if w[i]>w[j]+k+(i-j)*x then w[i]:=w[j]+k+(i-j)*x;
end;
end;
writeln(w[n]-k);
close(input); close(output);
end; begin
init;
dp;
end.

BZoj 1003 物流运输 DP+最短路的更多相关文章

  1. BZOJ 1003 物流运输 (dp + dijkstra)

    1003: [ZJOI2006]物流运输 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 8672  Solved: 3678[Submit][Stat ...

  2. BZOJ 1003 物流运输【最短路】【动态规划】

    这道题数据太小啦!先枚举i,j表示从第i天到第j天不更改航线的费用. 然后直接跑最短路算法(我用的是Q版男朋友算法) 动归方程显然是f[i] = min(f[i], f[j] + cost[j+1][ ...

  3. BZOJ 1003 物流运输 题解 【SPFA+DP】

    BZOJ 1003 物流运输 题解 Description 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的 ...

  4. BZOJ 1003 物流运输 (动态规划 SPFA 最短路)

    1003: [ZJOI2006]物流运输 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 5590 Solved: 2293 [Submit][Stat ...

  5. BZOJ 1003 物流运输trans dijstra+dp

    1003: [ZJOI2006]物流运输trans Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3896  Solved: 1608[Submit] ...

  6. BZOJ 1003--[ZJOI2006]物流运输(最短路)

    1003: [ZJOI2006]物流运输 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 10034  Solved: 4403 Description ...

  7. BZOJ 1003 - 物流运输 - [最短路+dp]

    题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1003 Time Limit: 10 Sec Memory Limit: 162 MB D ...

  8. BZOJ.1003.[ZJOI2006]物流运输(DP 最短路Dijkstra)

    题目链接 容易看出是个最短路+DP.既然答案和天数有关,那么就令\(f[i]\)表示前\(i\)天最小成本. 这个转移很好想: \(f[i]=\min(f[i],\ f[j]+cost(j+1,i)+ ...

  9. bzoj 1003物流运输 区间dp+spfa

    基本思路: 一开始确实没什么思路,因为觉得怎么着都会超时,然后看一下数据范围,呵,怎么都不会超时. 思路: 1.看到能改变线路,想到可以用以下区间dp,区间dp的话,先枚举长度,枚举开始位置,然后枚举 ...

随机推荐

  1. VS2013生产过程问题及解决

    TRK0002错误 现象:编译器.链接器交替报错,不能正常生成 环境:Win8.1 + VS2013 + 百度杀毒 解决:退出百度杀毒,重启VS,再进行生成 修订:发现问题依旧,经过多次试验,发现与杀 ...

  2. Ubuntu18.04 + CUDA9.0 + cuDNN7.3 + Tensorflow-gpu-1.12 + Jupyter Notebook深度学习环境配置

    目录 一.Ubuntu18.04 LTS系统的安装 1. 安装文件下载 2. 制作U盘安装镜像文件 3. 开始安装 二.设置软件源的国内镜像 1. 设置方法 2.关于ubuntu镜像的小知识 三.Nv ...

  3. 《Deep Learning》第二章 线性代数 笔记

    第二章 线性代数 2.1 名词 标量(scalar).向量(vector).矩阵(matrix).张量(tensor) 2.2 矩阵和向量相乘 1. 正常矩阵乘法: 2. 向量点积: 3. Hadam ...

  4. 软工实践Beta冲刺(3/7)

    队名:起床一起肝活队 组长博客:博客链接 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过去两天完成了哪些任务 描述: 1.界面的修改与完善 展示GitHub当日代码/文档签入记 ...

  5. ssh问题_1

    昨天配置了虚拟机的ssh,可以相互连接,但是今天早上就不行了,遇到如下错误 [slave1@hadoop ~]$ scp .ssh/id_rsa.pub master@hadoop.master:~/ ...

  6. 最小生成树(MST)

    原创 今天来说说最小生成树问题,我们知道最小生成树有两种求法,一种是prim算法,另一种是kruskal算法,关于两种算法的定义以及证明,请查看相关资料,这里不多说,理解起来也相当容易,我们来看一个问 ...

  7. [剑指Offer] 34.第一个只出现一次的数

    题目描述 在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符,并返回它的位置 [思路]当一个字符第一次出现的位置和它最后一次出现的位置相同,那么 ...

  8. Docker实战系列一:初识Docker for Windows

    windows下安装Docker官网教程Install Docker for Windows Docker配置官网教程Get started with Docker for Windows

  9. hdu 1853 Cyclic Tour (二分匹配KM最小权值 或 最小费用最大流)

    Cyclic Tour Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/65535 K (Java/Others)Total ...

  10. 【转】IBatis.Net项目数据库SqlServer迁移至Oracle

    转自:http://www.2cto.com/database/201312/265514.html 最近完成了一个(IBatis.Net+MVC)项目的数据库+代码迁移工作,可把我折腾得~~~ IB ...