tyvj 1055 沙子合并 区间dp经典模型,石子合并
描述
输入格式
第二行N个数,表示每堆沙子的质量。 <=1000
输出格式
测试样例1
输入
4
1 3 5 2
输出
22
思路:不多说直接贴码
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define esp 0.00000000001
const int N=1e3+,M=1e6+,inf=1e9+,mod=;
int a[N];
int dp[N][N];
int sum[N];
int main()
{
int x,y,z,i,t;
while(~scanf("%d",&x))
{
memset(dp,,sizeof(dp));
memset(sum,,sizeof(sum));
for(i=;i<=x;i++)
for(t=;t<=x;t++)
dp[i][t]=inf;
for(i=;i<=x;i++)
scanf("%d",&a[i]),dp[i][i]=,sum[i]=sum[i-]+a[i];
for(i=;i<x;i++)//区间长度
{
for(t=;t+i<=x;t++)//起点
{
for(int j=t;j<t+i;j++)
dp[t][t+i]=min(dp[t][t+i],dp[t][j]+dp[j+][t+i]+sum[t+i]-sum[t-]);
}
}
printf("%d\n",dp[][x]);
}
return ;
}
tyvj 1055 沙子合并 区间dp经典模型,石子合并的更多相关文章
- POJ 3280 Cheapest Palindrome ( 区间DP && 经典模型 )
题意 : 给出一个由 n 中字母组成的长度为 m 的串,给出 n 种字母添加和删除花费的代价,求让给出的串变成回文串的代价. 分析 : 原始模型 ==> 题意和本题差不多,有添和删但是并无代价 ...
- [IOI1998] Polygon (区间dp,和石子合并很相似)
题意: 给你一个多边形(可以看作n个顶点,n-1条边的图),每一条边上有一个符号(+号或者*号),这个多边形有n个顶点,每一个顶点有一个值 最初你可以把一条边删除掉,这个时候这就是一个n个顶点,n-2 ...
- 洛谷 P1880 [NOI1995] 石子合并(区间DP)
传送门 https://www.cnblogs.com/violet-acmer/p/9852294.html 题解: 这道题是石子合并问题稍微升级版 这道题和经典石子合并问题的不同在于,经典的石子合 ...
- 区间DP经典 石子合并
题目链接 题意:环形的一群石子,每次可以选择相邻的两堆合并,分数为新得到的一堆石子,求将这片石子合并成一堆的最大和最小分数 输入:第一行一个正整数n,其后n个数代表每堆石子的个数 分析:第一次写的时候 ...
- P1880 [NOI1995]石子合并 区间dp+拆环成链
思路 :一道经典的区间dp 唯一不同的时候 终点和起点相连 所以要拆环成链 只需要把1-n的数组在n+1-2*n复制一遍就行了 #include<bits/stdc++.h> usi ...
- HRBUST - 1818 石子合并 区间dp入门
有点理解了进阶指南上说的”阶段,状态和决策“ /* 区间dp的基础题: 以区间长度[2,n]为阶段,枚举该长度的区间,状态dp[l][r]表示合并区间[l,r]的最小费用 状态转移方程dp[l][r] ...
- 石子合并 区间dp模板
题意:中文题 Description 在操场上沿一直线排列着 n堆石子.现要将石子有次序地合并成一堆.规定每次只能选相邻的两堆石子合并成新的一堆, 并将新的一堆石子数记为该次合并的得分.允许在第一次合 ...
- HDU4632 Poj2955 括号匹配 整数划分 P1880 [NOI1995]石子合并 区间DP总结
题意:给定一个字符串 输出回文子序列的个数 一个字符也算一个回文 很明显的区间dp 就是要往区间小的压缩! #include<bits/stdc++.h> using namesp ...
- 『字符合并 区间dp 状压dp』
字符合并 Description 有一个长度为 n 的 01 串,你可以每次将相邻的 k 个字符合并,得到一个新的字符并获得一定分数.得到的新字符和分数由这 k 个字符确定.你需要求出你能获得的最大分 ...
随机推荐
- 【Double】double精度问题和int、long除不尽取舍问题
看了老半天,真心没搞懂,留下几篇文章,后面继续跟进吧.... 一.如何理解double精度丢失问题? - 知乎 https://www.zhihu.com/question/42024389/answ ...
- Jmeter--正则表达式提取值
博客首页:http://www.cnblogs.com/fqfanqi/ 设置界面如下: Apply to:应用范围的选择: Field to check:检查的领域,即需要提取内容的地方. 下面是各 ...
- 容器OOM相关
使用容器的时候经常出现容器无缘无故重启的情况,首先我们要怀疑的应该是是否发生OOM了,通过以下命令可以查看 需要在容器的宿主机上在执行,宿主机上执行/var/log/dmesg有相关信息 dmesg ...
- delphi xe -芒果数据库(FDConnection,DataSource,FDMongoQuery,FDMongoDataSet)连接,查询(展示数据),这里有mongodb为例子
一.连接 1.FDConnection:创建一个临时连接定义 资料:http://www.cnblogs.com/zhenfei/p/4105515.html 连接芒果数据库:选则Mongo(芒果), ...
- python的进程与线程
一.进程与线程的相关概念 1.什么是进程 进程是一个程序在一个数据集上的一次动态执行过程. 进程一般由程序,数据集,进程控制块三部分组成. 2.什么是线程 线程也叫轻量级进程,它是一个基本的CPU执行 ...
- > >> 将错误输出到文件
将错误输出到文件 转载:https://blog.csdn.net/woshinia/article/details/18040063 1.覆盖写入: echo "日志内容" & ...
- 4 TensorFlow入门之dropout解决overfitting问题
------------------------------------ 写在开头:此文参照莫烦python教程(墙裂推荐!!!) ---------------------------------- ...
- Python Static Method
How to define a static method in Python?Demo: #!/usr/bin/python2.7 #coding:utf-8 # FileName: test.py ...
- WinForm下的Nhibernate+Spring.Net的框架配置文件
1.先将配置文件放到如下:<?xml version="1.0" encoding="utf-8"?> <configuration> ...
- [笔记]Go语言写文件几种方式性能对比
Go语言中写文件有多种方式,这里进行如下几种方式的速度对比: 打开文件,写入内容,关闭文件.如此重复多次 打开文件,写入内容,defer 关闭文件.如此重复多次 打开文件,重复多次写入内容,defer ...