题目链接:https://codeforces.com/problemset/problem/455/A

题意:

给出一个 $n$ 个数字的整数序列 $a[1 \sim n]$,每次你可以选择一个 $a[k]$ 将其删除,同时还会删除序列中所有等于 $a[k] + 1$ 和 $a[k] - 1$ 的元素。

每做这样一次操作,你可以获得 $a[k]$ 的分数,求可以得到的最大分数。

题解:

首先,看到 $a[1 \sim n]$ 的取值最大不超过 $1e5$,就应当想到在这个上面做文章。

$f[x][0]$ 表示:值为 $x$ 的元素全部删除,并获得相应的分数,此时能获得的最大分数。

$f[x][1]$ 表示:值为 $x$ 的元素不删除(或者无法删除),不能获得相应分数,此时能获得的最大分数。

AC代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=1e5+;
int n,a[maxn],c[maxn];
ll f[maxn][];
int main()
{
ios::sync_with_stdio();
cin.tie(), cout.tie(); cin>>n;
for(int i=;i<=n;i++) cin>>a[i], c[a[i]]++; f[][]=1ll*c[], f[][]=;
for(int x=;x<maxn;x++)
{
f[x][]=f[x-][]+(ll)x*c[x];
f[x][]=max(f[x-][],f[x-][]);
} cout<<max(f[][],f[][])<<endl;
}

Codeforces 455A - Boredom - [DP]的更多相关文章

  1. CodeForces 455A Boredom (DP)

    Boredom 题目链接: http://acm.hust.edu.cn/vjudge/contest/121334#problem/G Description Alex doesn't like b ...

  2. Codeforces 455A Boredom (线性DP)

    <题目链接> 题目大意:给定一个序列,让你在其中挑选一些数,如果你选了x,那么你能够得到x分,但是该序列中所有等于x-1和x+1的元素将全部消失,问你最多能够得多少分. 解题分析:从小到大 ...

  3. Codeforces 455A Boredom 取数字的dp

    题目链接:点击打开链接 给定一个n长的序列 删除x这个数就能获得x * x的个数 的分数,然后x+1和x-1这2个数会消失.即无法获得这2个数的分数 问最高得分. 先统计每一个数出现的次数.然后dp一 ...

  4. Codeforces Round #260 (Div. 1) A - Boredom DP

    A. Boredom Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/455/problem/A ...

  5. Codeforces 445A Boredom(DP+单调队列优化)

    题目链接:http://codeforces.com/problemset/problem/455/A 题目大意:有n个数,每次可以选择删除一个值为x的数,然后值为x-1,x+1的数也都会被删除,你可 ...

  6. CodeForces 456-C Boredom

    题目链接:CodeForces -456C Description Alex doesn't like boredom. That's why whenever he gets bored, he c ...

  7. codeforces 682D(DP)

    题目链接:http://codeforces.com/contest/682/problem/D 思路:dp[i][j][l][0]表示a串前i和b串前j利用a[i] == b[j]所得到的最长子序列 ...

  8. codeforces 666A (DP)

    题目链接:http://codeforces.com/problemset/problem/666/A 思路:dp[i][0]表示第a[i-1]~a[i]组成的字符串是否可行,dp[i][1]表示第a ...

  9. Codeforces 176B (线性DP+字符串)

    题目链接: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=28214 题目大意:源串有如下变形:每次将串切为两半,位置颠倒形成 ...

随机推荐

  1. Python-MacOSX下SIP引起的pip权限问题解决方案(非取消SIP机制)

    网上很多资料都是取消SIP机制,安装完再恢复.可是基于用户的权限来安装模块包显得更加合理. 第一种:(推荐)pip install module --user -U http://www.jiansh ...

  2. mac下卸载jdk

    mac下安装软件很简单,但是卸载起来相对比较麻烦,下面进入正题: 首先你得知道你的电脑中安装了哪些jdk(mac可以安装多个jdk) 打开mac的终端,输入命令: ls /Library/Java/J ...

  3. RSA 分段加解密【解决“不正确的长度”的异常】

    RSA 是常用的非对称加密算法.最近使用时却出现了“不正确的长度”的异常,研究发现是由于待加密的数据超长所致. .NET Framework 中提供的 RSA 算法规定: 待加密的字节数不能超过密钥的 ...

  4. ssh连接服务器失败解决记录

    故障:db2inst1用户无法通过ssh连接数据库服务器. 但是root用户可以连接,连接后su – db2inst1用户报错: su: cannot set user id: Resource te ...

  5. <%: Html.DisplayNameFor与 <%: Html.DisplayFor的区别

    DisplayNameForModel只有在model定义了DisplayName时有用,简单说,DisplayNameFor是针对model里的"字段"别名,DisplayNam ...

  6. js中定义配置文件

    var config = (function($){ $.testConfig = { contextPath:'http://localhost:8080/test', maps:[ {id:'ma ...

  7. Jet.com

    Jet.com是一家电商startup,总部在最爱的小城市Hoboken.目前是类似Amazon的一个网站,后台用F#来做Micro Services,服务器都在Azure和AWS上.人员配置年轻聪明 ...

  8. JS截取字符串多余的为...

    如果截取字符串前几位,多余的用...表示该怎样做呢? JS代码 /** * js截取字符串,中英文都能用 * @param str:需要截取的字符串 * @param len: 需要截取的长度 */ ...

  9. 寄存器理解 及 X86汇编入门

    本文整理自多材料源,感谢原址分享,请查看末尾Url I, 汇编语言分类: 汇编语言和CPU息息相关,但是不能把汇编语言完全等同于CPU的机器指令.不同架构的CPU指令并不相同,如x86,powerpc ...

  10. fiddler 使用记录

    fiddler 工作原理 Fiddler 启动后将自己变成一个代理服务器,这个代理服务器默认监听 127.0.0.1:8888. Filddler 启动后浏览器的代理会被自动更改为 127.0.0.1 ...