HDU_4570_区间dp
http://acm.hdu.edu.cn/showproblem.php?pid=4570
连题目都看不懂,直接找了题解,copy了过来= =。
一个长度为n的数列,将其分成若干段(每一段的长度要<=20), 要求∑ai*(2^bi)最小,其中ai是每一段数列的第一项,bi是每一段的长度。比如:n=7,A={1 2 4 4 5 4 3},将其分成1 2 4| 4 5| 4| 3, 则其所用空间为1*2^3+4*2^2+4*2^1+3*2^1=38, 而如果分成1 2| 4 4 5| 4 3,则其所用空间为1*2^2+4*2^3+4*2^2=52,比38大。
dp[i][j]表示第i项到第j项的最小值。
#include<iostream>
#include<cstdio>
#include<cstring>
#define LL long long
using namespace std; LL a[],dp[][],sum[]; int main()
{
int T;
scanf("%d",&T);
while(T--)
{
memset(sum,,sizeof(sum));
int l;
scanf("%d",&l);
for(int i = ;i <= l;i++)
{
scanf("%lld",&a[i]);
sum[i] = sum[i-]+a[i];
}
for(int s = ;s <= l;s++)
{
for(int i = ;i <= l && i+s <= l;i++)
{
int j = i+s;
if(s < )
{
dp[i][j] = a[i];
for(int k = i;k <= j;k++) dp[i][j] *= ;
}
else dp[i][j] = *(sum[j]-sum[i-]);
for(int k = i;k < j;k++) dp[i][j] = min(dp[i][j],dp[i][k]+dp[k+][j]);
}
}
printf("%lld\n",dp[][l]);
}
return ;
}
HDU_4570_区间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 ... 
- 区间dp总结篇
		前言:这两天没有写什么题目,把前两周做的有些意思的背包题和最长递增.公共子序列写了个总结.反过去写总结,总能让自己有一番收获......就区间dp来说,一开始我完全不明白它是怎么应用的,甚至于看解题报 ... 
- Uva 10891 经典博弈区间DP
		经典博弈区间DP 题目链接:https://uva.onlinejudge.org/external/108/p10891.pdf 题意: 给定n个数字,A和B可以从这串数字的两端任意选数字,一次只能 ... 
随机推荐
- js判断各种类型
			js的六种基本类型:Object,Boolean,Number,String,Undefined,Null; Object中又有:Function,Array,Date... 如何判断数据类型? Ob ... 
- vim的常用指令(脑图)
			将正在编辑的文件另存新文件名 :w newfilename 在正在编辑的文件中,读取一个filename :r filename 做了很多编辑工作,想还原成原来的文件内容 :e! 我在v ... 
- es snapshot备份到hdfs及从hdfs恢复snapshot
			snapshot可以将es整个集群,具体索引数据备份到磁盘,hdfs等.需要时,可以从磁盘,hdfs恢复数据到es. 具体参考: https://elasticsearch.cn/article/61 ... 
- ECOS问题解决记录
			1.finder自定义列 http://club.ec-os.net/doc/ecos/framework-ecos/advance/desktop/dev.html#id5 2.命令行工具 地址 h ... 
- ArcEngine版本管理(Version)项目总结
			需求: 在ArcGIS项目中,大型的数据库都是使用ArcSDE进行连接管理.使用的数据版本(Version)都是默认版本(sde.default).这样多个人员在编辑的过程中就直接编辑的是默认版本数据 ... 
- Python中url标签使用详解
			url标签: 1.在模板中,我们经常要使用一些url,实现页面之间的跳转,比如某个a标签中需要定义href属性.当然如果通过硬编码的方式直接将这个url固定在里面也是可以的,但是这样的话,对于以后进行 ... 
- 第7节class与style绑定
			方法一 效果图: 方法二 效果图: 方法三 效果图: 代码: <!DOCTYPE html> <html lang="en" xmlns:v-bind=&qu ... 
- cogs 364. [HDU 1548] 奇怪的电梯 Dijkstra
			364. [HDU 1548] 奇怪的电梯 ★ 输入文件:lift.in 输出文件:lift.out 简单对比时间限制:1 s 内存限制:128 MB [问题描述] 呵呵,有一天我做了 ... 
- DateTime.Now
			// 2008年4月24日 System.DateTime.Now.ToString( " D " );// 2008-4-24 System.DateTime.Now.ToStr ... 
- 算法笔记codeup-Contest100000568
			A #include <stdio.h> int main() { ; ; while(a) { sum=sum+a; a--; } printf("%d",sum); ... 
