jzoj1749. 城市交通
2017-08-07 16:44
260 查看
Description
编号为1~n的n个城市,每个城市有两个权值Ai和Bi。
对于两个城市i和j,i可到j当且仅当j>i,而费用为(j-i)*Ai+Bj。
求从城市1到城市n的最小费用。
Input
第一行一个正整数n。
第二行n个正整数,第i个表示Ai。
第三行n个正整数,第i个表示Bi。
Output
一个数,表示最小的费用。
Sample Input
4
2 9 5 4
9 1 2 2
Sample Output
8
Data Constraint
Hint
【数据规模】
对于20%的数据,1<=n<=100;
对于50%的数据,1<=n<=3000;
对于100%的数据,1<=n<=100000,1<=Ai,Bi<=10^9。
想法:
DP
f[i]为到第i个城市的花费
f[i]=min(f[j]+(i-j)*a[j])(j=1~i-1)
这很明显是超时的
其实不是没个j都对答案有贡献
我们开一个决策队列,先将f[i]算出来(扫一遍队列),
把i插入队尾
如果队列里的决策点j和k,如果j
编号为1~n的n个城市,每个城市有两个权值Ai和Bi。
对于两个城市i和j,i可到j当且仅当j>i,而费用为(j-i)*Ai+Bj。
求从城市1到城市n的最小费用。
Input
第一行一个正整数n。
第二行n个正整数,第i个表示Ai。
第三行n个正整数,第i个表示Bi。
Output
一个数,表示最小的费用。
Sample Input
4
2 9 5 4
9 1 2 2
Sample Output
8
Data Constraint
Hint
【数据规模】
对于20%的数据,1<=n<=100;
对于50%的数据,1<=n<=3000;
对于100%的数据,1<=n<=100000,1<=Ai,Bi<=10^9。
想法:
DP
f[i]为到第i个城市的花费
f[i]=min(f[j]+(i-j)*a[j])(j=1~i-1)
这很明显是超时的
其实不是没个j都对答案有贡献
我们开一个决策队列,先将f[i]算出来(扫一遍队列),
把i插入队尾
如果队列里的决策点j和k,如果j
相关文章推荐
- JZOJ1749. 城市交通 (2017.8B组)
- jzoj 1749 城市交通
- 17.8.7 B组1749:城市交通——论斜率优化
- POJ1158 城市交通Traffic lights IOI 1999 (最短路)
- 城市交通应急指挥平台
- 城市交通视频监控的录像文件检索
- 交通制约城市发展 流程影响企业进步
- 通过百度提供API接口获得同一个城市两个位置交通路线
- 邯郸市城市轨道交通线网规划技术审查前公示 发布时间:2017-12-12
- 城市交通-SSL 1636
- 城市交通(动态规划)
- 城市轨道交通信号与通信系统
- 首届中国城市轨道交通科技创新创业大赛-清华站今日正式启动!
- Cpp环境【POJ2435】【CQYZOJ3034】【USACO2005 U S Open Silver】Navigating the City城市交通
- 城市交通
- [DFS]FJSDFZOJ 1260 城市交通
- 全国主要城市交通卡芯片一览,看看有没有你的家乡……
- 城市交通(动态规划)
- bzoj 1687: [Usaco2005 Open]Navigating the City 城市交通 bfs