• 题意:给你一组数,每次可以选择拿走第\(i\)个数,得到\(a[i]\)的分数,然后对于分数值为\(a[i]-1\)和\(a[i]+1\)的值就会变得不可取,问能得到的最大分数是多少.
  • 题解:\(a[i]\)最大取\(2e5\),那我们可以枚举\([1,2e5]\)的所有数字,用桶记录每个数出现的次数\(cnt[x]\),对于当前所枚举的数\(x\),我们有两种选择:

1.选

2.不选

假如我们选择\(x\),那么\(x-1\)肯定不能选的,不难想,最优的情况一定是从最近的\(x-2\)转移过来并且加上当前的贡献,假如我们不选的话,那么我们的状态就应该从上一个数\(x-1\)转移过来,所以状态转移方程就是\(dp[i]=max(dp[i-1],dp[i-2]+i*cnt[i])\).

  • 代码:
#include <bits/stdc++.h>
#define ll long long
#define fi first
#define se second
#define pb push_back
#define me memset
#define rep(a,b,c) for(int a=b;a<=c;++a)
#define per(a,b,c) for(int a=b;a>=c;--a)
const int N = 1e6 + 10;
const int mod = 1e9 + 7;
const int INF = 0x3f3f3f3f;
using namespace std;
typedef pair<int,int> PII;
typedef pair<ll,ll> PLL;
ll gcd(ll a,ll b) {return b?gcd(b,a%b):a;}
ll lcm(ll a,ll b) {return a/gcd(a,b)*b;} int n;
int cnt[N];
ll dp[N];
ll ans=0; int main() {
ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
cin>>n;
rep(i,1,n){
int x;
cin>>x;
cnt[x]++;
} dp[1]=max(0,cnt[1]); rep(i,0,200010){
dp[i]=max(dp[i-1],dp[i-2]+i*cnt[i]);
ans=max(ans,dp[i]);
} cout<<ans<<'\n'; return 0;
}

最新文章

  1. 小记搭建WAPM运行ThinkPHP时所需要的配置
  2. java之文件夹
  3. JMeter数据库性能测试
  4. AppWidget应用(一)---创建一个appWidget
  5. Mongo组合索引优化
  6. UVA 11853 Paintball ——(dfs+圆交判定)
  7. MAC OSX 10.10 下安装PHP环境
  8. 浏览器缓存机制&lt;转&gt;
  9. Ubuntu 16.04下安装64位谷歌Chrome浏览器
  10. SSL证书安装(Tomcat)腾讯云服务器
  11. Linux中查看你的用户是否为root用户
  12. 《HTTP 权威指南》笔记:第十六章&amp;第十七章 国际化、内容协商与转码
  13. Hbase Shell 数据操作说明
  14. 安卓工作室 android studio 汉化后,报错。 设置界面打不开。Can&#39;t find resource for bundle java.util.PropertyResourceBundle, key emmet.bem.class.name.element.separator.label
  15. 【基础】iframe之间的切换(四)
  16. htmlayout 最简单的实践,用于理解实现原理。
  17. Ubuntu系统tensorflow安装问题及解决
  18. 利用VisualStudio单元测试框架举一个简单的单元测试例子
  19. js常用的事件对象
  20. mysql更新日志问题

热门文章

  1. 编译安装PHP - 7.3.16
  2. ip访问本机vs调试项目
  3. kill 指令的执行原理
  4. 【MySQL】ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing
  5. 使用 gRPCurl 调试.NET 5的gPRC服务
  6. oracle可传输表空间测试
  7. Linux TCP漏洞 CVE-2019-11477 CentOS7 修复方法
  8. 与数论的厮守05:gcd(a,b)=gcd(b,a mod b)的证明
  9. JS中常用的工具类
  10. 解决安装mysql动态库libstdc++.so.6、libc.so.6版本过低问题