U3178 zty的冒险之行

题目提供者mangoyang

题目背景

“妈咪妈咪轰”随着一声巨响,zty传送到了Aluba国,在那里浴血奋战,饱读兵书,风餐露宿,吃喝嫖赌,终于到了先前埋了宝藏的那个神秘地点,只见门前有许多怪物在看守,zty有些心慌,掏出了他的10000 mod 10 美元,“兄弟,你们都是为主办事的,让个道呗” 只见怪物把zty摁在地上,zty卒,复活后,zty决定和怪物决一死战,他发现怪物可以分批打,他想找出一个最优的方案,于是zty找到了学信息学的你来帮忙,由于zty是个土豪,如果你帮他击败怪物,他就给你100000 mod 10 美元

题目描述

放眼望去,这n个怪物排成一排,zty要把这些怪物按照顺序分为m组击破,每个怪物都有一个威慑度a[i],小z面对一组怪物会积累等同改组威慑值最大怪物的威慑值的压抑度,压抑度越大zty越怂,现在请你帮小z找出最小的压抑度之和

输入输出格式

输入格式:

第一行两个数,n,m表示小z要把n个怪物分为m组,接下来一行共n个数,第i个数表示第i个怪物威慑度为a[i]

输出格式:

一个数,即最小的压抑度之和

输入输出样例

输入样例#1:

5 3

1 2 3 4 5

输出样例#1:

8

说明

对于 10%的数据 m=1

对于 100%的数据 n<=100,m<=100

/*
划分型DP.
f[i][j]表示前i个数分成j组的最优值.
从i-1开始扫.
扫一个前k个的最大值作为代表值.
然后f[i][j]=min(f[i][j],f[k][j-1]+max);
转移的时候考虑j-1组+max.
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#define MAXN 1001
using namespace std;
int s[MAXN],f[MAXN][MAXN],n,m,tot;
int main()
{
memset(f,127/3,sizeof(f));
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
scanf("%d",&s[i]),f[i][0]=0;;
f[0][0]=0;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
tot=s[i];
for(int k=i-1;k>=0;k--)
{
f[i][j]=min(f[i][j],f[k][j-1]+tot);
tot=max(tot,s[k]);
}
}
}
printf("%d",f[n][m]);
}

洛谷 U3178 zty的冒险之行的更多相关文章

  1. 【洛谷p1258】小车问题

    (……吓人,心有余悸) 小车问题[传送门] 洛谷算法标签:: (行吧它居然是个二分[解方程的我抖抖发瑟]) 作为一个写了一页演草纸才解出来的方程,显然我要好好写一写(希望不会半途而废) 思路: 先把其 ...

  2. 洛谷P2179 骑行川藏

    什么毒瘤... 解:n = 1的,发现就是一个二次函数,解出来一个v的取值范围,选最大的即可. n = 2的,猜测可以三分.于是先二分给第一段路多少能量,然后用上面的方法求第二段路的最短时间.注意剩余 ...

  3. 洛谷P1352 codevs1380 没有上司的舞会——S.B.S.

    没有上司的舞会  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond       题目描述 Description Ural大学有N个职员,编号为1~N.他们有 ...

  4. 洛谷P1108 低价购买[DP | LIS方案数]

    题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...

  5. 洛谷P1710 地铁涨价

    P1710 地铁涨价 51通过 339提交 题目提供者洛谷OnlineJudge 标签O2优化云端评测2 难度提高+/省选- 提交  讨论  题解 最新讨论 求教:为什么只有40分 数组大小一定要开够 ...

  6. 洛谷八月月赛Round1凄惨记

    个人背景: 上午9:30放学,然后因为学校举办读书工程跟同学去书城选书,中午回来开始打比赛,下午又回老家,中间抽出一点时间调代码,回家已经8:50了 也许是7月月赛时“连蒙带骗”AK的太幸运然而因同学 ...

  7. [洛谷OJ] P1114 “非常男女”计划

    洛谷1114 “非常男女”计划 本题地址:http://www.luogu.org/problem/show?pid=1114 题目描述 近来,初一年的XXX小朋友致力于研究班上同学的配对问题(别想太 ...

  8. 洛谷P3372 【模板】线段树 1

    P3372 [模板]线段树 1 153通过 525提交 题目提供者HansBug 标签 难度普及+/提高 提交  讨论  题解 最新讨论 [模板]线段树1(AAAAAAAAA- [模板]线段树1 洛谷 ...

  9. 洛谷P2024 食物链

    挺神奇 题目描述 动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形.A 吃 B,B 吃 C,C 吃 A. 现有 N 个动物,以 1 - N 编号.每个动物都是 A,B,C 中的一种 ...

随机推荐

  1. vim中不能使用“+y拷贝

    新的机器上安装vim后可以使用yy复执,但是”+y拷贝到系统剪切板不行.按下面操作解决: 1.首先要检查你的vim版本是否支持+clipboard,命令是:version 或者可以输入:reg 查看是 ...

  2. 【前端】CSS3实现弹出效果

    36氪这个网站上的登录框弹出的时候挺帅气的,想知道它是怎么做的 .. 今天通过问新爷再加上自己琢磨琢磨写出一个小小Demo - 上代码 <!DOCTYPE html> <html&g ...

  3. HW2.10

    import javax.swing.JOptionPane; public class Solution { public static void main(String[] args) { Str ...

  4. HDOJ-ACM1023(JAVA)

    题意:输入栈的大小,输出可能的出栈顺序的个数. 这道题,如果做了1022,那就只要在上面改改就行了, 第一想法是加上全排列-----结果是正确的,但是绝对会超时 验证性的实现了:(Time Limit ...

  5. HDU4607 - Park Visit(树的直径)

    题目大意 给定一颗树,要求走过其中连续的k个点,使得步数最少 题解 每条边要么经过两次,要么一次,因为我们的目标就是使得走一次的边尽量的多,这样就转换成求树的直径了,求树的直径我用的是两次dfs,先随 ...

  6. Win+R指令(1)

    CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本.文件系统版本)1. appwiz.cpl:程序和功能 2. calc:启动计算器 3. certmgr. ...

  7. POJ3155 Hard Life

    Time Limit: 8000MS   Memory Limit: 65536K Total Submissions: 8482   Accepted: 2461 Case Time Limit:  ...

  8. Join-Path(拼接路径)

    $a="d:" $a="d:\ab" $b="abcd" $c="m.txt" @($a,$b,$c) -join '\ ...

  9. 验证(Verification)与确认(Validation)的差别

    验证(Verification)与确认(Validation)的差别 说法一: (2)“验证(Verification)”的涵义 通过提供客观证据对规定要求已得到满足的认定. (2)“确认(Valid ...

  10. C++ ComboBox基础

    关键点 实现过程 //添加 //添加字符串 m_cbo1.AddString("AAA"); m_cbo1.AddString("BBB"); m_cbo1.A ...