博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces 455A Boredom 取数字的dp
阅读量:4947 次
发布时间:2019-06-11

本文共 807 字,大约阅读时间需要 2 分钟。

题目链接:

给定一个n长的序列

删除x这个数就能获得x * x的个数 的分数,然后x+1和x-1这2个数会消失。即无法获得这2个数的分数

问最高得分。

先统计每一个数出现的次数。然后dp一下,对于每一个数仅仅有取或不取2种状态。

#include 
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;#define ll long longll hehe;#define N 100005ll num[N], n;ll dp[N][2];void work(){ for(ll i = 1; i < N; i++){ dp[i][0] = max(dp[i-1][0], dp[i-1][1]); if(num[i]) { if(i-2>=0) dp[i][1] = max(dp[i-2][0], dp[i-2][1])+num[i]*i; dp[i][1] = max(dp[i][1], dp[i-1][0] + num[i]*i); } } cout<
>n){ memset(num, 0, sizeof num); memset(dp, 0, sizeof dp); for(i = 1; i <= n; i++) { scanf("%I64d", &u); num[u] ++; } work(); } return 0;}

转载于:https://www.cnblogs.com/wzzkaifa/p/7252682.html

你可能感兴趣的文章
实验二
查看>>
函数的形参和实参
查看>>
数据科学从业者常见的不良小习惯
查看>>
文字过长 用 ... 表示 CSS实现单行、多行文本溢出显示省略号
查看>>
1Caesar加密
查看>>
orcal 主键 外键 约束条件
查看>>
BZOJ 3779 重组病毒 LCT+线段树(维护DFS序)
查看>>
【TP SRM 703 div2 500】 GCDGraph
查看>>
hdu1203 dp背包问题
查看>>
Ubuntu grub2的修复
查看>>
ASP.NET 2.0: 在使用web.sitemap时,如何实现本地化
查看>>
MapReduce 重要组件——Recordreader组件 [转]
查看>>
2017-2018-2 20179225 《密码与安全新技术专题》 第6周作业
查看>>
转载:Linux命令行快捷键
查看>>
多个viewpager可能产生的问题
查看>>
webdriver api
查看>>
转载-FileZilla Server源码分析(1)
查看>>
apache 实现图标缓存客户端
查看>>
MediaWiki左侧导航栏通过特殊页面就可以设置。
查看>>
html基础之DOM操作
查看>>