4815 江哥的dp题a

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

给出一个长度为N的序列A(A1,A2,A3,...,AN)。现选择K个互不相同的元素,要求: 1.两两元素互不相邻

2.元素值之和最大

输入描述 Input Description

第一行两个正整数N,K。 接下来一行N个整数,描述A。

输出描述 Output Description

输出一行一个整数,描述答案(最大和)。

样例输入 Sample Input

样例1:

7 3

3 5 7 -1 9 10 7

样例2:

7 3

3 21 7 -1 9 20 7

样例输出 Sample Output

样例1:

23

样例2:

40

数据范围及提示 Data Size & Hint

测试点编号            数据范围

1,2,3                      K≤N≤20

4,5,6,7,8,9,10       K≤N≤1000

分类标签 Tags 点此展开

AC代码(不靠谱版):

#include<cstdio>
#include<algorithm>
#define ll long long
using namespace std;
const int N=1e3+;
ll n,k,a[N],f[N][N];
int main(){
scanf("%lld%lld",&n,&k);
for(int i=;i<=n;i++) scanf("%lld",&a[i]);
f[][]=a[];
for(int i=;i<=n;i++){
for(int j=;j<=k;j++){
f[i][j]=max(f[i-][j],f[i-][j-]+a[i]);
}
}
printf("%lld\n",f[n][k]);
return ;
}

AC代码(靠谱版):

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
const int N=1e3+;
ll n,k,a[N],f[N][N][];
int main(){
memset(f,-,sizeof f);
scanf("%lld%lld",&n,&k);
for(int i=;i<=n;i++) scanf("%lld",&a[i]);
for(int i=;i<=n;i++) f[i][][]=;
for(int i=;i<=n;i++){
for(int j=;j<=k;j++){
f[i][j][]=max(f[i-][j][],f[i-][j][]);
f[i][j][]=max(f[i-][j-][]+a[i],f[i][j][]);
}
}
printf("%lld\n",max(f[n][k][],f[n][k][]));
return ;
}

4815 江哥的dp题a的更多相关文章

  1. 4817 江哥的dp题d

    4817 江哥的dp题d  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description 已知1-N的排列P的LIS(最长上 ...

  2. 4809 江哥的dp题c

    4809 江哥的dp题c  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description 有两个数x,y,一开始x=1,y= ...

  3. 4816 江哥的dp题b

    4816 江哥的dp题b  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description 给出两个1-N的随机排列A,B.若 ...

  4. codevs4817 江哥的dp题d

    4817 江哥的dp题d  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 黄金 Gold [题目描述] Description 已知1-N的排列P的LIS(最长上升子序列)不超 ...

  5. 江哥的dp题a(codevs 4815)

    题目描述 Description 给出一个长度为N的序列A(A1,A2,A3,...,AN).现选择K个互不相同的元素,要求: 1.两两元素互不相邻 2.元素值之和最大 输入描述 Input Desc ...

  6. Codeforces Round #369 (Div. 2)---C - Coloring Trees (很妙的DP题)

    题目链接 http://codeforces.com/contest/711/problem/C Description ZS the Coder and Chris the Baboon has a ...

  7. HDU 2577 How to Type(dp题)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2577 解题报告:有一个长度在100以内的字符串,并且这个字符串只有大写和小写字母组成,现在要把这些字符 ...

  8. 古韵之乞巧 题解 dp题

    [noip模拟赛1]古韵之乞巧   描述 闺女求天女,更阑意未阑. 玉庭开粉席,罗袖捧金盘. 向月穿针易,临风整线难. 不知谁得巧,明旦试相看. ——祖咏<七夕> 女子乞巧,是七夕的重头戏 ...

  9. cf1061c 普通dp题

    题解见https://blog.csdn.net/godleaf/article/details/84402128 这一类dp题是可以压缩掉一维空间的,本题枚举a1到an,枚举到ai时枚举ai的每个约 ...

随机推荐

  1. 数据持久化(一)--NSKeyedArchiver

    数据持久化:  将内存中的数据按某种格式存进磁盘 数据的种类: 1,结构化的数据 2, 字节流数据 结构化的数据        字节流 内存中结构化的数据   ->   磁盘,  叫: 归档 字 ...

  2. Android中应用程序清除data/data,清除cache,超详细

    清除data,清除cache,其实在Android原生Setting里面有这个功能的. 需求是把这个功能做到自己的App里面,并计算出cache和data的size. 所以参考了一下Setting的源 ...

  3. C#复习②

    C#复习② 2016年6月15日 09:08 1.C#之Symbols Identifier = (letter|'_'|'@'){letter|digit|'_'}. 需要注意: 1.Unicode ...

  4. 坑!坑!坑!防不胜防的unsigned int的运算

    我很早之前就知道,unsigned int与int运算的时候,int会被转化为unsigned int来进行运算.一直觉得定这条规则的人是极度反人类的,虽说unsigned int可以表示更大的正值, ...

  5. yii2整合百度编辑器umeditor

    作者:白狼 出处:www.manks.top/article/yii2_umeditor 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责 ...

  6. HashSet vs TreeSet vs LinkedHashSet

    使用Set集合的主要原因是因为Set集合里面没有重复的元素.Set集合有三个常见的实现类:HashSet,TreeSet,LinkedHashSet.什么时候,选择哪一个使用非常重要.简单的说,如果你 ...

  7. NuGet学习笔记1——初识NuGet及快速安装使用

    关于NuGet园子里已经有不少介绍及使用经验,本文仅作为自己研究学习NuGet一个记录. 初次认识NuGet是在去年把项目升级为MVC3的时候,当时看到工具菜单多一项Library Package M ...

  8. Linux工具之man手册彩色页设置

    说明: 对于我们开发人员或者运维工程师来说,经常要查询某个系统命令或者C函数接口的使用方法,最好的最专业的资料就是man手册,通过一些设置可以让man手册页面显示适当颜色,方便阅读,增强美观性. 设置 ...

  9. Linux系统管理命令之权限管理

    对于一个目录来说,x权限:可以cd进去 对于目录: 读:看 执行:进去 写:写操作 rw权限没有意义 umask 022     特殊权限: suid sgid 2种情况:对于文件:类似于suid对于 ...

  10. Ubuntu为何永远绝对的免费?

    Ubuntu(发行版)是一个Linux大家族,而且个个都称得上是软件精品.所谓“绝对”就是没有任何条件.不受任何限制的意思.那么,Ubuntu怎么可能是永远绝对的免费?难道这不是蛊惑人心的宣传.不能兑 ...