HDU 3933 Dark Parth 题解
来源:互联网 发布:vue.js 2.0 教程下载 编辑:程序博客网 时间:2024/06/17 03:29
题意
有n个从左向右相邻的数字,需要从左走到右求和,中间可以越过不超过S次[La,Lb]个数,任意两个跨越的区间交集为空,问最小的和是多少
思路
dp,i表示跨越的次数,j表示现在处理到的末位置,k表示这次跨越的距离,dp[i][j]=min(dp[i][j],dp[i-1][j-k]),最后答案是max(dp[0][N],dp[1][N],…,dp[S][N])
代码
#include <cstdio>#include <algorithm>using namespace std;int A[1001],ans[101][1001];int main(){ int N,Lb,La,S,anss; while(1) { scanf("%d",&N); if(N==0) break; scanf("%d%d%d",&Lb,&La,&S); for(int i=1;i<=N;i++) { scanf("%d",&A[i]); ans[0][i]=ans[0][i-1]+A[i]; } for(int i=1;i<=S;i++) for(int j=1;j<=N;j++) { ans[i][j]=ans[i][j-1]+A[j]; for(int k=La;k<=Lb&&k<=j;k++) ans[i][j]=min(ans[i][j],ans[i-1][j-k]); } anss=ans[0][N]; for(int i=1;i<=S;i++) if(anss>ans[i][N]) anss=ans[i][N]; printf("%d\n",anss); for(int i=0;i<=S;i++) for(int j=0;j<=N;j++) ans[i][j]=0; } return 0;}
阅读全文
0 0
- HDU 3933 Dark Parth 题解
- hdu 3933 Dark Parth
- 多校第十场HDU 3933 Dark Parth(二维DP)
- 2011 Multi-University Training Contest 10 - Host by HRBEU hdu 3933 Dark Parth
- 【DP】 hdu3933 Dark Parth
- hdu 2988 Dark roads
- hdu 2988 Dark roads
- dARK
- dark
- HDU 2988 Dark roads 【最小生成树】
- 【DFS】Codeforces717E[Paint it really, really dark gray]题解
- hdu 4602题解
- hdu 1789题解
- HDU 4665 题解
- HDU 4710题解
- HDU 4715题解
- hdu 1087题解
- hdu 2844题解
- 17 QT里的uart编程
- Generics 通用型 a stack class
- 十六、As Easy As A+B
- 文章标题
- 2017年“嘉杰信息杯” 中国大学生程序设计竞赛全国邀请赛:H—Highway
- HDU 3933 Dark Parth 题解
- leetcode_Two sum
- Unity和Android交互的好文章汇总
- docker 创建一个新镜像
- 机器学习——感知机(笔记+代码)
- STVD出现红色区域
- 关于 USB 通信阻抗匹配的问题
- LinkedList底层原理(双向链表)
- 匈牙利算法