hdu4283 区间dp
//Accepted 300 KB 0 ms
//区间dp
//dp[i][j] 表示i到j第一个出场的最小diaosizhi
//对于i到j考虑元素i
//(1)i第一个出场,diaosizhi为 dp[i+1][j]+sum(i+1--j)
//(2)i不是第一个出场,而是第k个出场,则i+1到k+i-1这段区间第一个出场,k+i到j第k+1个出场
//diaoshizhi为dp[i+1][i+k-1] + a[i]*(k-1) + (dp[i+k][j]+k*sum(i+k--j))
//sum为一段区间的diaosizhi的和,考虑k+i到j第k+1个出场相当于k+i到j第一个出场再加上k*(sum(i+k--j))
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
;
int dp[imax_n][imax_n];
int a[imax_n],sum[imax_n];
int n;
int min(int a,int b)
{
return a<b?a:b;
}
void Dp()
{
memset(dp,,sizeof(dp));
;l<=n;l++)
{
;i<=n;i++)
{
;
if (j>n) break;
dp[i][j]=dp[i+][j]+sum[j]-sum[i];
;k<=l;k++)
{
dp[i][j]=min(dp[i][j],dp[i+][i+k-]+a[i]*(k-)+dp[i+k][j]+k*(sum[j]-sum[i+k-]));
}
}
}
}
int main()
{
int T;
scanf("%d",&T);
;t<=T;t++)
{
scanf("%d",&n);
sum[]=;
;i<=n;i++)
{
scanf("%d",&a[i]);
sum[i]=sum[i-]+a[i];
}
Dp();
printf(][n]);
}
;
}
//Accepted 4792 KB 281 ms
//区间dp
//dp[i][j][k] i到j整段区间在第k个出去时的最小花费
//考虑区间中的第一个元素i,有一下两种情况:
//(1)i在第k个出去,则i+1到j在第k+1个出去即dp[i+1][j][k+1]
//(2)i不在第k个出去,则i后必有一段在第k个出去,假设这段为i+1到m
//则有dp[i+1][m][k]+a[i]*(k+m-i)+dp[m+1][j][k+m-i+1]
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
;
;
int dp[imax_n][imax_n][imax_n];
int a[imax_n];
int n;
int min(int a,int b)
{
return a<b?a:b;
}
void Dp()
{
memset(dp,,sizeof(dp));
;i<=n;i++)
{
;k<=n;k++)
{
dp[i][i][k]=(k-)*a[i];
}
}
;i<n;i++)
{
;k<=n;k++)
{
dp[i][i+][k]=min((k-)*a[i]+k*a[i+],k*a[i]+(k-)*a[i+]);
}
}
;l<=n;l++)
{
;i<=n;i++)
{
;
if (j>n) break;
;k<=n;k++)
{
dp[i][j][k]=inf;
dp[i][j][k]=min(dp[i][j][k],dp[i+][j][k+]+(k-)*a[i]);
;m<=j;m++)
{
dp[i][j][k]=min(dp[i][j][k],dp[i+][m][k]+a[i]*(k+m-i-)+dp[m+][j][k++m-i]);
}
}
}
}
}
int main()
{
int T;
scanf("%d",&T);
;t<=T;t++)
{
scanf("%d",&n);
;i<=n;i++)
scanf("%d",&a[i]);
Dp();
printf(][n][]);
}
;
}
hdu4283 区间dp的更多相关文章
- HDU4283:You Are the One(区间DP)
Problem Description The TV shows such as You Are the One has been very popular. In order to meet the ...
- hdu4283 You Are the One 区间DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4283 自己想了很久还是不会,参考了别人的思路才写的,区间DP还是很弱,继续努力!! 思路: 转载: 题 ...
- 【BZOJ-4380】Myjnie 区间DP
4380: [POI2015]Myjnie Time Limit: 40 Sec Memory Limit: 256 MBSec Special JudgeSubmit: 162 Solved: ...
- 【POJ-1390】Blocks 区间DP
Blocks Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 5252 Accepted: 2165 Descriptio ...
- 区间DP LightOJ 1422 Halloween Costumes
http://lightoj.com/volume_showproblem.php?problem=1422 做的第一道区间DP的题目,试水. 参考解题报告: http://www.cnblogs.c ...
- BZOJ1055: [HAOI2008]玩具取名[区间DP]
1055: [HAOI2008]玩具取名 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1588 Solved: 925[Submit][Statu ...
- poj2955 Brackets (区间dp)
题目链接:http://poj.org/problem?id=2955 题意:给定字符串 求括号匹配最多时的子串长度. 区间dp,状态转移方程: dp[i][j]=max ( dp[i][j] , 2 ...
- HDU5900 QSC and Master(区间DP + 最小费用最大流)
题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=5900 Description Every school has some legends, ...
- BZOJ 1260&UVa 4394 区间DP
题意: 给一段字符串成段染色,问染成目标串最少次数. SOL: 区间DP... DP[i][j]表示从i染到j最小代价 转移:dp[i][j]=min(dp[i][j],dp[i+1][k]+dp[k ...
随机推荐
- 简单的css居中问题(日常记录)
1.今天遇到了一个奇怪的问题:因为网页要适配大小分辨屏幕,需要把一张图片放到div中,我的初始思路是把图放在div中绝对对位给top50%left50%,但是不行,因为当网页调窄时图片就因为显得太大了 ...
- 可持久化Trie & 可持久化平衡树 专题练习
[xsy1629]可持久化序列 - 可持久化平衡树 http://www.cnblogs.com/Sdchr/p/6258827.html [bzoj4260]REBXOR - Trie 事实上只是一 ...
- bzoj题解汇总(1032~1051)
bzoj1034:贪心 bzoj1036:树剖 bzoj1037:一个比较巧妙,利用连续性维护的dp. http://www.cnblogs.com/Sdchr/p/6129496.html bzoj ...
- IOC Container(服务容器)的工作机制
IOC Container 是laravel的一个核心内容,有了IOC Container在Laravel的强大表现,我们可以在Laravel中实现很大程度的代码维护性.(文档我是看的懵逼懵逼的(*^ ...
- 关于json的理解
一. 获取数组长度 array.length 获取对象长度 Object.keys(objs).length 二. 如何抉择{}和[] 先说两者区别, {}:父类下面直接是子类名称 []:父类下会追 ...
- 10款实用Android UI 开发框架
1. ActionBarSherlock ActionBarSherlock是一个独立的Android设计库,可以让Android 2.x的系统也能使用ActionBar.此外,ActionBarSh ...
- 《javascript高级程序设计》第22章 高级技巧
22.1 高级函数 22.1.1 安全的类型检测 22.1.2 作用域安全的构造函数 22.1.3 惰性载入函数 22.1.4 函数绑定 22.1.5 函数柯里化22.2 防篡改对象 22.2.1 不 ...
- 定向转发和重定向实现 <select >下拉表单数据传送
定向转发的特点: (1). 实行转发时浏览器上的网址不变 (如果你这点忽视了,那你就要接受我无尽的鄙视吧! 哇咔咔~~~) (2). 实行转发时 : 只有一次请求. 不信,看这下面的 ...
- 【如何快速的开发一个完整的iOS直播app】(推流篇)
前言 在看这篇之前,如果您还不了解直播原理,请查看这篇文章如何快速的开发一个完整的iOS直播app(原理篇) 开发一款直播app,肯定需要流媒体服务器,本篇主要讲解直播中流媒体服务器搭建,并且讲解了如 ...
- 深入理解ServletRequest与ServletResponse
请求和相应是Web交互最基本的模式,在Servlet中,分别用HttpServletRequest与HttpServletResponse来表示Http请求和响应.这两个类均来自javax.se ...