https://vjudge.net/problem/UVA-1632

题意:

直线上有n个点,其中第i个点的坐标是xi,且它会在di秒之后消失。Alibaba可以从任意位置出发,求访问完所有点的最短时间。

思路:

区间DP。

d[i][j][0]用来表示访问完区间 i ~ j 之间所有点的最短时间,并且此时处于 i 点,相反的,d[i][j][1]表示的是处于 j 点。

 1 #include<iostream>
 2 #include<string>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6
 7 const int maxn = 10000 + 5;
 8 const int INF = 10000000;
 9
10 int a[maxn], b[maxn];
11 int n;
12 int d[maxn][maxn][2];
13
14 int main()
15 {17     while (cin >> n)
18     {
19         memset(d, 0, sizeof(d));
20         for (int i = 1; i <= n; i++)
21             cin >> a[i] >> b[i];
22         for (int i = n; i >=1; i--)
23         {
24             for (int j = i + 1; j <= n; j++)
25             {
26                 d[i][j][0] = min(d[i + 1][j][0] + a[i + 1] - a[i], d[i + 1][j][1] + a[j] - a[i]);
27                 if (d[i][j][0] >= b[i])    d[i][j][0] = INF;
28                 d[i][j][1] = min(d[i][j-1][1] + a[j] - a[j - 1], d[i][j - 1][0] + a[j] - a[i]);
29                 if (d[i][j][1] >= b[j])    d[i][j][1] = INF;
30             }
31         }
32         int ans = min(d[1][n][0], d[1][n][1]);
33         if (ans == INF) puts("No solution");
34         else printf("%d\n", ans);
35     }
36     return 0;
37 }

转载于:https://www.cnblogs.com/zyb993963526/p/6381886.html

UVa 1632 阿里巴巴(区间DP)相关推荐

  1. hdu 4597 + uva 10891(一类区间dp)

    题目链接:http://vjudge.net/problem/viewProblem.action?id=19461 思路:一类经典的博弈类区间dp,我们令dp[l][r]表示玩家A从区间[l, r] ...

  2. Brackets sequence UVA - 1626(区间DP)

    题目链接:https://vjudge.net/problem/UVA-1626 题目描述:首先规定了合法的串满足:(1)空字符串是合法的串:(2)若串S是合法的串,则串(S)和 [ S ] 都是合法 ...

  3. Uva 1626(区间dp)

    #include<iostream> #include<algorithm> #include<cstring> #include<string> us ...

  4. 【区间dp】uva10003+ uva 1626 括号匹配问题 【有空自己记忆化写一下!!!】

    讲道理,其实我还不是太懂,这个题看到了两种写法 之前大概想的差不多,要这样实现呀: 常规写法,大概n--3 递归写法,稍微好理解一点 好了,接下来自从看了liuchuo的博客我要变身玛丽苏橙色了 题目 ...

  5. 紫书动规 例题9-10 UVA - 1626 Brackets sequence 区间dp

    题目链接: https://vjudge.net/problem/UVA-1626 题意: 题解: dp[i][j]:= i~j需要最少的括号 区间dp: dp[i][j] = min(dp[i][j ...

  6. POJ 2955 Brackets (区间DP)

    题目链接:http://poj.org/problem?id=2955 Brackets Time Limit: 1000MS   Memory Limit: 65536K Total Submiss ...

  7. 0x53. 动态规划 - 区间DP(习题详解 × 8)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 文章目录 0x53. 动态规划 - 区间DP Problem A. 最优矩阵链乘 Problem B. ...

  8. UVA1626 括号序列 Brackets sequence(区间DP匹配括号,输出匹配方案)

    整理的算法模板合集: ACM模板 UVA1626 Brackets sequence 我们将正规括号序列定义如下: 空序列是正规括号序列. 如果 SSS 是一个正规括号序列,那么 (S) 和 [S] ...

  9. UVA10003 切木棍 Cutting Sticks(区间DP、细节)

    整理的算法模板合集: ACM模板 本题其实就是一个区间DP 的模板题,总长度为len,有n个切割点,也就是说能被切割成n+1段,所以左边界是0,有边界是n + 1,所以答案就是f[0][n + 1]. ...

最新文章

  1. CMAKE_MAKE_PROGRAM is not set
  2. 探究实现中断下半部分的第四种方式
  3. TensorFlow-CIFAR10 CNN代码分析
  4. Thread 中 ThreadLocal 源码解读
  5. github pages_如何使用GitHub Actions和Pages发布GitHub事件数据
  6. 贾扬清演讲实录:一个AI开发者的奇幻漂流
  7. javaweb实训第二天上午——jQuery基础
  8. Linux 命令(21)—— cd 命令(builtin)
  9. 实用,开源,生成朋友圈转发点赞截图小工具一枚
  10. html如何改变图片比例,如何更改图片像素和大小
  11. minigui学习笔记五
  12. STAR-CCM+ 计算RAE-2822翼型在FATP巡航状态下不同攻角下的升力系数。
  13. 带孩子们做环球旅行的读后感_年轻爸妈别糊涂,这些奶奶、姥姥们不适合带孩子...
  14. html雨滴状的图案代码,HTML_HTML5实现晶莹剔透的雨滴特效,复制代码代码如下: html - phpStudy...
  15. maven 打包 程序包org.project.entity不存在
  16. Java8 JVM运行时数据区概述 (极其详细长文)
  17. ServiceWorker 缓存与 HTTP 缓存
  18. dede栏目文章数与实际数不符
  19. 《咸鱼分享》DNS轮询
  20. html如何使表单在页面居中显示,html怎样将表单居中

热门文章

  1. centos6.8 yum mysql7_Centos6.8通过yum安装mysql5.7
  2. android html 换行_Android中Strings资源加空格,换行符,@等方法示例
  3. java flex 上传文件_使用Flex和java servlet上传文件
  4. python编程人脸识别工具_几行代码带你实现人脸识别。Python 就是这么简单
  5. java 打印map后的输出
  6. 001_Gson概述
  7. 026_元素执行函数
  8. 084_html5WebWorkers
  9. 深入浅出Android App耗电量统计
  10. Springboot工程下使用mybatis反向工程