Alibaba UVa 1632
来源:互联网 发布:java邮箱验证基本思路 编辑:程序博客网 时间:2024/05/21 12:45
动态规划的思想。同时需要注意一点,不论我们从哪一个点开始进行操作,任意时候为了得到最优的结果,那么我们操作的肯定是一个连续的区间。所以在这道题目当中我们就可以使用滚动数组来进行操作,并且能够优化内存。代码中
dp[i][j][k]其中i用来区分是当前待更新的数组还是上一次记录的状态数组,j代表着当前区间的左端点,k代表着当前的位置是在区间的左边还是右边,具体实现见如下代码:
#include<iostream>#include<vector>#include<string>#include<set>#include<stack>#include<queue>#include<map>#include<algorithm>#include<cmath>#include<iomanip>#include<cstring>#include<sstream>#include<cstdio>#include<deque>using namespace std;class Solve{public:int N;int location[10010], deadline[10010];int dp[2][10010][2];//滚动数组,0代表左边,1代表右边int Inf = 1 << 20;void deal(){int cur = 0;for (int i = 0; i < N; i++){dp[cur][i][0] = dp[cur][i][1] = (deadline[i]>0?0:Inf);}for (int i = 1; i < N; i++){cur = cur ^ 1;for (int j = 0; j < N - i; j++){dp[cur][j][0] = min(dp[cur^1][j + 1][0] + location[j + 1] - location[j], dp[cur^1][j+1][1]+location[j+i]-location[j]);dp[cur][j][1] = min(dp[cur ^ 1][j][1] + location[j + i] - location[j + i - 1],dp[cur^1][j][0]+location[j+i]-location[j]);if (dp[cur][j][0]>=deadline[j]) dp[cur][j][0] = Inf;if (dp[cur][j][1]>=deadline[j + i]) dp[cur][j][1] = Inf;}}int ans = min(dp[cur][0][0], dp[cur][0][1]);if (ans == Inf) cout << "No solution\n";else cout << ans << endl;}};int main(){Solve a;while (cin >> a.N){for (int i = 0; i < a.N; i++)cin >> a.location[i] >> a.deadline[i];a.deal();}return 0;}
阅读全文
0 0
- Alibaba - UVa 1632 dp
- UVa 1632 Alibaba
- UVA 1632(p306)----Alibaba
- UVA 1632 Alibaba
- uva 1632 Alibaba
- Uva-1632 Alibaba(贪心)
- Alibaba UVa 1632
- UVA 1632-Alibaba(DP)
- [UVA 1632]Alibaba[区间DP]
- Uva 1632 alibaba 区间dp
- uva 1632——Alibaba
- UVA - 1632 Alibaba 区间DP
- UVa 1632 Alibaba (区间dp)
- UVA 1632 Alibaba(区间dp)
- Alibaba UVA
- UVa #1632 Alibaba (习题9-8)
- UVA-1632 Alibaba (区间DP)
- 1632 - Alibaba(DP)
- list的简单应用
- Elasticsearch部分节点不能发现集群(脑裂)问题处理
- Direct3D模版缓存
- 图片懒加载与预加载
- springboot入门经典
- Alibaba UVa 1632
- ubuntu16.04--需要运行"apt-get -f install"来纠正下列错误
- 关于Android中Dialog位置的设置
- Ubuntu:Unable to locate package(无法定位安装包)
- 如何操作图像的像素--Mat和vector
- 数据库中间件收集
- [C#]使用CMD命令删除文件函数
- css常用属性
- localhost,127.0.0.1 和 本机IP 三者的区别