UVa 1632 阿里巴巴(区间DP)
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)相关推荐
- hdu 4597 + uva 10891(一类区间dp)
题目链接:http://vjudge.net/problem/viewProblem.action?id=19461 思路:一类经典的博弈类区间dp,我们令dp[l][r]表示玩家A从区间[l, r] ...
- Brackets sequence UVA - 1626(区间DP)
题目链接:https://vjudge.net/problem/UVA-1626 题目描述:首先规定了合法的串满足:(1)空字符串是合法的串:(2)若串S是合法的串,则串(S)和 [ S ] 都是合法 ...
- Uva 1626(区间dp)
#include<iostream> #include<algorithm> #include<cstring> #include<string> us ...
- 【区间dp】uva10003+ uva 1626 括号匹配问题 【有空自己记忆化写一下!!!】
讲道理,其实我还不是太懂,这个题看到了两种写法 之前大概想的差不多,要这样实现呀: 常规写法,大概n--3 递归写法,稍微好理解一点 好了,接下来自从看了liuchuo的博客我要变身玛丽苏橙色了 题目 ...
- 紫书动规 例题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 ...
- POJ 2955 Brackets (区间DP)
题目链接:http://poj.org/problem?id=2955 Brackets Time Limit: 1000MS Memory Limit: 65536K Total Submiss ...
- 0x53. 动态规划 - 区间DP(习题详解 × 8)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 文章目录 0x53. 动态规划 - 区间DP Problem A. 最优矩阵链乘 Problem B. ...
- UVA1626 括号序列 Brackets sequence(区间DP匹配括号,输出匹配方案)
整理的算法模板合集: ACM模板 UVA1626 Brackets sequence 我们将正规括号序列定义如下: 空序列是正规括号序列. 如果 SSS 是一个正规括号序列,那么 (S) 和 [S] ...
- UVA10003 切木棍 Cutting Sticks(区间DP、细节)
整理的算法模板合集: ACM模板 本题其实就是一个区间DP 的模板题,总长度为len,有n个切割点,也就是说能被切割成n+1段,所以左边界是0,有边界是n + 1,所以答案就是f[0][n + 1]. ...
最新文章
- CMAKE_MAKE_PROGRAM is not set
- 探究实现中断下半部分的第四种方式
- TensorFlow-CIFAR10 CNN代码分析
- Thread 中 ThreadLocal 源码解读
- github pages_如何使用GitHub Actions和Pages发布GitHub事件数据
- 贾扬清演讲实录:一个AI开发者的奇幻漂流
- javaweb实训第二天上午——jQuery基础
- Linux 命令(21)—— cd 命令(builtin)
- 实用,开源,生成朋友圈转发点赞截图小工具一枚
- html如何改变图片比例,如何更改图片像素和大小
- minigui学习笔记五
- STAR-CCM+ 计算RAE-2822翼型在FATP巡航状态下不同攻角下的升力系数。
- 带孩子们做环球旅行的读后感_年轻爸妈别糊涂,这些奶奶、姥姥们不适合带孩子...
- html雨滴状的图案代码,HTML_HTML5实现晶莹剔透的雨滴特效,复制代码代码如下: html - phpStudy...
- maven 打包 程序包org.project.entity不存在
- Java8 JVM运行时数据区概述 (极其详细长文)
- ServiceWorker 缓存与 HTTP 缓存
- dede栏目文章数与实际数不符
- 《咸鱼分享》DNS轮询
- html如何使表单在页面居中显示,html怎样将表单居中
热门文章
- centos6.8 yum mysql7_Centos6.8通过yum安装mysql5.7
- android html 换行_Android中Strings资源加空格,换行符,@等方法示例
- java flex 上传文件_使用Flex和java servlet上传文件
- python编程人脸识别工具_几行代码带你实现人脸识别。Python 就是这么简单
- java 打印map后的输出
- 001_Gson概述
- 026_元素执行函数
- 084_html5WebWorkers
- 深入浅出Android App耗电量统计
- Springboot工程下使用mybatis反向工程