Codeforces Round #260 (Div. 2)C. Boredom
来源:互联网 发布:培训环节知乎 编辑:程序博客网 时间:2024/05/22 02:11
动态规划问题。
先做一个哈希,统计一下每个点数的个数p[i]。
dp[i]表示到i为止得到的最大点数
递推关系:
1.选择 i :选 i 就不能选择 i -1 , dp[i] = dp[i-2] + p[i] * i;
2.不选择 i : dp[i] = dp[i-1];
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;typedef long long ll;const int maxn = 100005;ll p[maxn],dp[maxn];int main(){ ll i , n , x , maxn = -1; memset(p,0,sizeof(p)); memset(dp,0,sizeof(dp)); scanf("%I64d", &n); for(i = 1 ; i <= n ; i++){ scanf("%I64d", &x); if(x > maxn) maxn = x ; p[x]++ ; } dp[1] = p[1] ; for(i = 2 ; i <= maxn ; i++) dp[i] = max( dp[i-1],dp[i-2]+p[i]*i ); printf("%I64d\n", dp[maxn]); return 0;}
0 0
- Codeforces Round #260 (Div. 2) C. Boredom
- Codeforces Round #260 (Div. 2) C Boredom
- Codeforces Round #260 (Div. 2)C. Boredom
- Codeforces Round #260 (Div. 2)C. Boredom(dp)
- Codeforces Round #260 (Div. 2) C. Boredom【DP】
- dp解Codeforces Round #260 (Div. 2)C. Boredom
- Codeforces Round #260 (Div. 2)——C. Boredom
- Codeforces Round #260 (Div. 2) C. Boredom(DP)
- Boredom - CodeForces #260 (Div. 2) C dp
- Codeforces Round #260 (Div. 2)455A - Boredom (DP)
- Codeforces Round #260 (Div. 1) A. Boredom
- Codeforces Round #260 (Div. 1) A. Boredom
- Codeforces Round #260 (Div. 1) A. Boredom
- Codeforces Round #433 (Div. 2) E. Boredom
- codeforces #260 DIV 2 C题Boredom(DP)
- Codeforces #260 (Div. 2) C. Boredom(动态规划)
- Codeforces Round #260 (Div. 1) 455 A. Boredom (DP)
- Codeforces Round #260 (Div. 1) 455 A. Boredom (DP)
- 隐马尔科夫模型HMM自学
- http协议
- 拿:取某个id的引用getElementById 20140809
- C程序设计奥秘笔记之C语言自身引出的问题
- java堆栈和垃圾回收
- Codeforces Round #260 (Div. 2)C. Boredom
- 人见人爱A^B
- hdu 2522 A simple problem(模拟)
- eclipse中查看java String类的源代码
- 4.jQuery UI 按钮UI
- java中DAO模式的好处
- What is SMS and how does it work?
- cocos2dx 动态加载网络图片
- JAVA求解大数