BZoj 1003 物流运输 DP+最短路
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+最短路的更多相关文章
- BZOJ 1003 物流运输 (dp + dijkstra)
1003: [ZJOI2006]物流运输 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 8672 Solved: 3678[Submit][Stat ...
- BZOJ 1003 物流运输【最短路】【动态规划】
这道题数据太小啦!先枚举i,j表示从第i天到第j天不更改航线的费用. 然后直接跑最短路算法(我用的是Q版男朋友算法) 动归方程显然是f[i] = min(f[i], f[j] + cost[j+1][ ...
- BZOJ 1003 物流运输 题解 【SPFA+DP】
BZOJ 1003 物流运输 题解 Description 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的 ...
- BZOJ 1003 物流运输 (动态规划 SPFA 最短路)
1003: [ZJOI2006]物流运输 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 5590 Solved: 2293 [Submit][Stat ...
- BZOJ 1003 物流运输trans dijstra+dp
1003: [ZJOI2006]物流运输trans Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3896 Solved: 1608[Submit] ...
- BZOJ 1003--[ZJOI2006]物流运输(最短路)
1003: [ZJOI2006]物流运输 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 10034 Solved: 4403 Description ...
- BZOJ 1003 - 物流运输 - [最短路+dp]
题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1003 Time Limit: 10 Sec Memory Limit: 162 MB D ...
- BZOJ.1003.[ZJOI2006]物流运输(DP 最短路Dijkstra)
题目链接 容易看出是个最短路+DP.既然答案和天数有关,那么就令\(f[i]\)表示前\(i\)天最小成本. 这个转移很好想: \(f[i]=\min(f[i],\ f[j]+cost(j+1,i)+ ...
- bzoj 1003物流运输 区间dp+spfa
基本思路: 一开始确实没什么思路,因为觉得怎么着都会超时,然后看一下数据范围,呵,怎么都不会超时. 思路: 1.看到能改变线路,想到可以用以下区间dp,区间dp的话,先枚举长度,枚举开始位置,然后枚举 ...
随机推荐
- Qt 隐藏标题栏可移动升级版
在最出的时候,在Qt程序隐藏标题栏的情况下,实现界面可拖拽移动,是鼠标在在程序界面的任意位置都可以,现在这个版本是需要鼠标在程序界面的特定位置开可以 上代码 static QPoint last(0, ...
- 名字管理系统demo
# 名字管理系统demo # 打印功能提示 print('欢迎使用名字管理系统v6.6.6') print('1:添加一个名字') print('2:删除一个名字') print('3:修改一个名字' ...
- 实用的placeholder插件,兼容IE下的placeholder,jquery插件
placeholder在IE下无法兼容 ,下面的插件很好的处理了这个问题,拿去不谢 /* * jQuery placeholder, fix for IE6,7,8,9 * @website itmy ...
- python基础训练营02
任务二 时长:2天 1. 列表 a. 标志 b. 基本操作(创建,append( ),pop( ) ,del( ), 拷贝) c. 列表相关方法 2. 元组 a. 标志 b. 基本操作(创建及不可变性 ...
- deeplearning.ai课程学习(4)
第四周:深层神经网络(Deep Neural Networks) 1.深层神经网络(Deep L-layer neural network) 在打算使用深层神经网络之前,先去尝试逻辑回归,尝试一层然后 ...
- git 创建分支并提交到服务器对应的新分支
1.切换到源分支 git checkout test 2.在源分支的基础上创建新分支 git branch test1 3.提交到远程分支 git pull 会自动提示下面的命令 git pull - ...
- restFul介绍及其使用规范
什么是REST和RESTful API? REST:(英文:Representational State Transfer,简称REST)表征性状态转移,是一种软件架构风格. RESTful : RE ...
- .Net 面试总结
今天去面试了一家公司,做电子商务类的网站的,公司的老板应该比较有能量,可以同时拿下若干项目,技术负责人给提了几个问题: 记不清顺序了 .net 构析函数的作用 泛型的主要作用及应用方面 结构与类的区别 ...
- 基于Thinkphp5+phpQuery 网络爬虫抓取数据接口,统一输出接口数据api
TP5_Splider 一个基于Thinkphp5+phpQuery 网络爬虫抓取数据接口 统一输出接口数据api.适合正在学习Vue,AngularJs框架学习 开发demo,需要接口并保证接口不跨 ...
- XML中的DTD语法
DTD(Document Type Definition),全称为文档类型定义. 文件清单:book.xml <?xml version="1.0" ?> <!D ...