dp四边形优化 Hdu 2829 Lawrence 题解
来源:互联网 发布:mac锁定触控板快捷键 编辑:程序博客网 时间:2024/06/06 03:17
累加器传送门:
http://blog.csdn.net/NOIAu/article/details/71775000
题目传送门:
https://cn.vjudge.net/problem/HDU-2829
这道题我在这篇博客上写过斜率优化的题解:
http://blog.csdn.net/NOIAu/article/details/72369084
这里我就不对dp转移进行讲解,由于cost满足凸性和包含关系,直接四边形即可,如果需要看详解(其实一点都不详),可以看上面那篇博客
代码如下
#include<cstdio>#include<iostream>#include<cstring>#define MAXN 1000+10using namespace std;int dp[MAXN][MAXN],s[MAXN][MAXN];int a[MAXN],cost[MAXN][MAXN],cnt[MAXN];int n,m;bool init(){ scanf("%d%d",&n,&m); if(n==0&&m==0) return false; for(register int i=1;i<=n;i++)scanf("%d",&a[i]); for(register int i=1;i<=n;i++)cnt[i]=cnt[i-1]+a[i]; for(register int i=1;i<=n;i++) for(register int j=i+1;j<=n;j++) cost[i][j]=cost[i][j-1]+(cnt[j-1]-cnt[i-1])*a[j]; return true;}void dpp(){ for(register int i=1;i<=n;++i){ dp[1][i]=cost[1][i]; s[1][i]=0; } for(register int i=2;i<=m+1;i++){ s[i][n+1]=n; for(register int j=n;j>i;j--){ int temp=0x7fffffff; int te; for(register int k=s[i-1][j];k<=s[i][j+1];k++){ if(temp>dp[i-1][k]+cost[k+1][j]){ temp=dp[i-1][k]+cost[k+1][j]; te=k; } } dp[i][j]=temp; s[i][j]=te; } } cout<<dp[m+1][n]<<endl;}int main(){ while(init()){ dpp(); }}
阅读全文
0 0
- dp四边形优化 Hdu 2829 Lawrence 题解
- hdu 2829 Lawrence 四边形优化 dp
- HDU 2829 Lawrence【dp四边形不等式优化】
- HDU 2829 Lawrence(四边形优化dp/斜率优化dp)
- HDU - 2829 Lawrence(四边形优化)
- Hdu 2829 Lawrence(dp+四边形优化或斜率优化)
- hdu 2829 Lawrence (dp斜率优化||四边形优化)
- HDU-2829 Lawrence 【斜率优化DP】【四边形不等式优化】
- HDU-2829 Lawrence 四边形优化DP 斜率优化
- dp斜率优化 hdu 2829 Lawrence 题解
- HDU 2829 Lawrence(DP+四边形不等式优化)
- hdu 2829 Lawrence (四边形不等式优化DP)
- HDU 2829 Lawrence(四边形不等式优化DP)
- hdoj 2829 Lawrence 四边形不等式优化dp
- 【斜率/四边形不等式DP】【hdu 2829】Lawrence
- Lawrence - HDU 2829斜率优化,四边形不等式优化
- dp专辑 U - Lawrence [ 四边形不等式优化]
- dp四边形优化 Hdu 3480 Division 题解
- Python~~简介介绍
- NSString NSCFString NSCFConstantString isMemberOfClass 遇到的相关的问题
- SQL Server 2008 收缩日志 清空删除大日志文件
- linux的yum update命令
- DEDECMS自动编号(序号)[field:global.autoindex/]
- dp四边形优化 Hdu 2829 Lawrence 题解
- RecyclerView在GridLayoutManager情况下实现四周都有分割线的ItemDecoration
- Android动画效果生动有趣的通知NiftyNotification(Android Toast替代品)
- PID调节三个参数的作用
- 前端面试题
- 计算机英语·D
- Myeclipse项目JDK编译版本与环境版本不一致
- 逻辑回归原理
- 欢迎使用CSDN-markdown编辑器