//POJ3377
//DP解法-解有规律的最短路问题
//Time:1157Ms   Memory:12440K
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;#define MAXN 1000005typedef long long LL;int n;
int dp[MAXN][3];
int sr, st, er, ed;
int main()
{//freopen("in.txt", "r", stdin);while(scanf("%d", &n), n){scanf("%d%d%d%d", &sr,&st,&er,&ed);if(st > ed){swap(st, ed);swap(sr, er);}for(int i = 1; i <= n; i++)scanf("%d", &dp[i][0]);for(int i = 0; i <= n; i++)scanf("%d", &dp[i][2]);for(int i = 1; i <= n; i++)scanf("%d", &dp[i][1]);//更新st从左侧到达对岸的最短路for(int i = st, w = 0; i > 0; i--){w += dp[i][0] + dp[i][1];   //间接走陆路的路长和dp[st][2] = min(dp[st][2], w + dp[i-1][2]);if(w >= dp[st][2]) break;}//更新ed从右侧到达对岸的最短路for(int i = ed+1, w = 0; i <= n; i++){w += dp[i][0] + dp[i][1];dp[ed][2] = min(dp[ed][2], w + dp[i][2]);if(w >= dp[ed][2])  break;}LL dis[2];dis[sr] = 0;    //起始点右移最短路dis[!sr] = dp[st][2];   //对岸右移最短路for(int i = st + 1; i <= ed; i++){int x = dp[i][sr], y = dp[i][!sr];  //该点与对岸到达右一点的路长int z = dp[i][2];   //右侧水路长LL tmp = dis[sr];dis[sr] = min(dis[sr] + x, dis[!sr] + y + z);dis[!sr] = min(dis[!sr] + y, tmp + x + z);}printf("%lld\n", dis[er]);}return 0;
}

转载于:https://www.cnblogs.com/Inkblots/p/5735753.html

ACM/ICPC 之 DP解有规律的最短路问题(POJ3377)相关推荐

  1. 2016 ACM / ICPC Asia dalian Regional Contest 题解(11 / 11)【每日亿题2021 / 2 / 17】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A .(2017 ACM ICPC dalian H)To begin or not to be ...

  2. 【转】lonekight@xmu·ACM/ICPC 回忆录

    转自:http://hi.baidu.com/ordeder/item/2a342a7fe7cb9e336dc37c89 2009年09月06日 星期日 21:55 初识ACM 最早听说ACM/ICP ...

  3. 厦门大学lonekight ACM/ICPC 回忆录

    初识ACM 最早听说ACM/ICPC这项赛事是在大三上的算法课上张老师提到的,当时我们学校的组织参加这项活动才刚刚起步,我也没太在意,总觉得那是非常遥远的事,事实上当时我也从未相当如今我们能获得现在的 ...

  4. P5801 [SEERC2019]Game on a Tree(ACM - ICPC 2019)(树的最大匹配)(完美匹配)

    P5801 [SEERC2019]Game on a Tree(ACM - ICPC 2019)(树的最大匹配) 完美匹配:如果一个图的某个匹配中,所有的顶点都是匹配点,那么它就是一个完美匹配. #i ...

  5. 例题6-2 铁轨(Rails, ACM/ICPC CERC 1997, UVa 514)

    栈应用 例题6-2 铁轨(Rails, ACM/ICPC CERC 1997, UVa 514) 错解 1.每次要把栈清空 2.不能用空的栈(栈顶)去比较 #include<iostream&g ...

  6. 2015 ACM/ICPC Asia Regional Shenyang Online题解

    以下所有AC题解程序来自"仙客传奇"团队. AC题数:7/13 ABCFGJL A. Traversal AC的C++语言程序: #include <bits/stdc++. ...

  7. 2019年安徽大学ACM/ICPC实验室新生赛题解

    本文仅作个人收藏学习使用 题目及解析来源牛客竞赛网 //作者:王清楚 //链接:https://ac.nowcoder.com/discuss/351408?type=101&order=0& ...

  8. 2017 ACM ICPC Asia Regional - Daejeon

    2017 ACM ICPC Asia Regional - Daejeon Problem A Broadcast Stations 题目描述:给出一棵树,每一个点有一个辐射距离\(p_i\)(待确定 ...

  9. Samara SAU ACM ICPC Quarterfinal Qualification Contest 2012

    Samara SAU ACM ICPC Quarterfinal Qualification Contest 2012 D 题意 把一个数每次取走一个因子,直至1为止,取不同的因子算不同的方案,问有几 ...

最新文章

  1. python 网关控制家居_在树莓派上搭建智能家居网关
  2. Nginx windows安装部署
  3. android 广播唤醒应用,Android通过广播实现灭屏和唤醒
  4. linux常用命令详解和用法_详解Linux shell用法中常用命令--read(传参)
  5. Python 量化投资实战教程(5) — A股回测KDJ 策略
  6. 囧从流氓同事的河蟹喜酒归来......
  7. macbook 终端命令怎么使用_mac怎么打开终端?mac打开命令提示符的方法
  8. 破窑赋--11.11在一个小吃店看到
  9. 分级聚类算法(集体智慧编程)
  10. linux将日历信息导出到,在 Linux 命令行中规划你的假期日历
  11. Oracle ADG状态查看与相关视图
  12. Ghost 8.2 +GHOST使用教程(图+文)
  13. 怎么快速调节EDIUS中声音的淡入淡出?
  14. 判定是否互为字符重排(入门算法30)
  15. 插曲一 解决-source 1.4 中不支持注释和泛型问题
  16. java泰坦宙斯之战程序_详解Hadoop作业平台宙斯Zeus.pdf
  17. MOTO XT800 测评
  18. word目录自动生成未定义标签问题解决
  19. 第二证券|券商12月金股出炉!多只地产股成热门,科创仍是中长期主线
  20. Gox语言中进行屏幕截图并显示在Sciter图形界面中-GX38.2

热门文章

  1. Mysql存在则更新,不存在则插入
  2. zcmu2117(普通母函数)
  3. linux搜狗输入法配置,liunx----配置搜狗输入法
  4. 7个相同小球4个不同盒子_如何用天平称三次找出12个外观相同小球中仅有的一个次品?次品质量与正品不同。...
  5. 从分布式一致性算法到区块链共识机制
  6. [Android]用架构师角度看插件化(2)-Replugin 唯一hook点
  7. Hook技术--Activity的启动过程的拦截
  8. Core Dump流程分析
  9. Mach-O的动态链接相关知识
  10. Android中实现应用的静默安装