3278 最小m 段和问题

 时间限制: 1
s
 空间限制:
256000 KB
 题目等级 :
黄金 Gold

查看运行结果

题目描述 Description

给定 n
个整数(不一定是正整数)组成的序列,现在要求将序列分割为 m 段,每段子序列中的数在原序列 中连续排列。如何分割才能使这 m
段子序列的和的最大值达到最小?

输入描述 Input
Description

文件的第 1 行中有 2 个正整数 n 和 m。 正整数 n 是序列 的长度;正整数 m
是分割的断数。 接下来的一行中有 n 个整数。

输出描述 Output
Description

文件的第 1
行中的数是计算出 的 m 段子序列的和的最大值的最小值。

样例输入 Sample
Input

1 1

10

样例输出 Sample
Output

10

数据范围及提示 Data Size &
Hint

N<=1000,M<=N

分类标签 Tags 点此展开

注意:
代码:
#include<
iostream >
using namespace
std;
#include<
cstdio >
#include<
cstring >
#define INFn
1001
int
n,m,dp[INFn][INFn],sum[INFn],num[INFn];
void
input()
{
scanf("%d%d",&n,&m);
for(int
i=1;i<=n;++i)
{
scanf("%d",&num[i]);
sum[i]=sum[i-1]+num[i];
}
}
void DP()
{
memset(dp,99,sizeof(dp));
for(int
i=1;i<=n;++i)
dp[i][1]=sum[i];
for(int
j=2;j<=m;++j)
 for(int i=j;i<=n;++i)
   for(int
t=j-1;t<=i-1;++t)
 
 dp[i][j]=min(dp[i][j],max(dp[t][j-1],sum[i]-sum[t]));
}
int main()
{
input();
if(n==0&&m==0)
{
cout<<0;
return 0;
}
DP();
printf("%d",dp[n][m]);
return 0;
 } 

141.最小m 段和问题--划分性DP(特殊数据)的更多相关文章

  1. 125.乘积最大(划分性DP)

    1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解 题目描述 Descriptio ...

  2. 详解数组分段和最大值最小问题(最小m段和问题)

    数组分段和最大值最小问题(最小m段和问题) 问题描述 给定n个整数组成的序列,现在要求将序列分割为m段,每段子序列中的数在原序列中连续排列.如何分割才能使这m段子序列的和的最大值达到最小? 清洁工:假 ...

  3. Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查

    本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...

  4. 深入理解java:1.3.1 JVM内存区域的划分(运行时数据区)

    学习Java GC机制,可以帮助我们在日常工作中 排查各种内存溢出或泄露问题,解决性能瓶颈,达到更高的并发量,写出更高效的程序. 我们将从4个方面学习Java GC机制, 1,内存是如何分配的: 2, ...

  5. 算法 - 最小m段和问题

    题目分析 给定n个整数组成的序列,要求将序列分割为m段,每段子序列中的数在原序列中连续排列,求使得子段和的最大值达到最小的分割方法 解题方法 状态转移方程 State[i][j]表示前i个数据分成j段 ...

  6. codevs 3278 最小m 段和问题

    时间限制: 1 s  空间限制: 256000 KB  题目等级 : 黄金 Gold 题目描述 Description 给定 n 个整数(不一定是正整数)组成的序列,现在要求将序列分割为 m 段,每段 ...

  7. UVa 11552 最小的块数(序列划分模型:状态设计)

    https://vjudge.net/problem/UVA-11552 题意:输入一个正整数k和字符串S,字符串的长度保证为k的倍数.把S的字符按照从左到右的顺序每k个分成一组,每组之间可以任意重排 ...

  8. Scau 8633 回文划分 mancher + dp

    时间限制:1000MS 内存限制:1000K 提交次数: 通过次数: 题型: 编程题 语言: G++;GCC Description 我们说一个字符串是回文串,那么意味着这个串从两边读起来的字母都是一 ...

  9. 8633 回文划分(dp)

    8633 回文划分 该题有题解 时间限制:1000MS  内存限制:1000K提交次数:169 通过次数:63 题型: 编程题   语言: G++;GCC Description 我们说一个字符串是回 ...

随机推荐

  1. 《Linux内核原理与设计》第十一周作业 ShellShock攻击实验

    <Linux内核原理与设计>第十一周作业 ShellShock攻击实验 分组: 和20179215袁琳完成实验及博客攥写 实验内容:   Bash中发现了一个严重漏洞shellshock, ...

  2. vue基本介绍

    https://cn.vuejs.org/v2/guide/ Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上 ...

  3. Linux-进程间通信(五): 网络套接字

    不想说话,坑太深:持续学习网络编程中...

  4. Linux 入门记录:十七、Linux 命令行文本/文件处理工具

    一.文件浏览 cat 查看文件内容 more 以翻页形式查看文件内容(只能向下翻页) less 以翻页形式查看文件内容(可以上下翻页) head 查看文件的头几行(默认10行) tail 查看文件的尾 ...

  5. c++ 引用的分析

    在一般教材里面,我们会说引用是变量的别名,另外在 c++ primer 5里面说到引用的时候,说引用不是对象,不能对它进行取地址.但是我们来看看下面代码的分析: #include <iostre ...

  6. SAE如何使用Git

    了解Git及远程git仓库 请先看博文<Git入门及上传项目到github中>,弄懂了之后我相信我下面说的就相当于废话了. SAE的git远程仓库就相当于github. 向SAE的远程仓库 ...

  7. clearcase command (windows 常用的几个)

    command 1. setview  指定某个view你可以操作,否则你将看不到文件,ls,cd 等其它命令无效 setview  viewname 2. rename branch type na ...

  8. CSS 绝对居中方案

    .Absolute-Center { margin: auto; position: absolute; top:;;;; }

  9. 修改sql server sa用户密码

    EXEC sp_password NULL, 'NewPassword', 'Sa'

  10. PHP7.3发布啦

    作为PHP5的最后一个版本,也是目前使用最广泛的PHP版本,PHP 5.6始于公元2014年(不是1804年,嘿嘿),其第一个测试版PHP 5.6 alpha 1版于2014年1月发布.随机产生了第一 ...