codeforces455A Boredom (裸DP)
題目連結:
http://codeforces.com/problemset/problem/455/A
題意:
從n個數中選出一個數 x,得到x的獎勵,但是要去掉所有值為x-1和x+1的數,當所有的數都取光的時候求得到最大的獎勵
分析:
很裸的一個DP
dp[i]=max(dp[i-1],dp[i-2]+num[i]*i) 表示取值為i的時候所能得到的最大獎勵。
程式碼如下:
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
typedef long long LL;
const int maxn = 500010;
int num[maxn];
LL dp[maxn];
int main()
{
int n;
while(~scanf("%d",&n)){
memset(num,0,sizeof(num));
memset(dp,0,sizeof(dp));
int mmax=0,x;
for(int i=0;i<n;i++){
scanf("%d",&x);
num[x]++;
if(x>mmax) mmax=x;
}
dp[1]=num[1];
for(int i=2;i<=mmax;i++)
dp[i]=max(dp[i-1],dp[i-2]+(LL)i*num[i]);
printf("%lld\n",dp[mmax]);
}
return 0;
}
相關文章
- dp 套 dp(dp of dp)小記
- DP套DP
- [DP] 數位DP
- dp套dp 隨寫
- 【DP】區間DP入門
- [DP] DP最佳化總結
- LWIP裸機移植
- 我裸辭了!!!
- bzoj 3864: Hero meet devil [dp套dp]dev
- 序列 DP
- DP(一)
- dp板子
- DP動態規劃-爬塔(雙層dp)動態規劃
- 建立裸裝置庫
- raw 裸裝置資料檔案更改其他raw裸裝置位置
- 區間dp
- 機率DP
- 狀壓 dp
- 揹包DP
- 樹形DP!
- 狀壓DP
- 數位 dp
- 換根dp
- dp洩露
- scientifically practice DP
- dp02
- 樹形DP
- DP 詳解
- dp加練
- 基於STM32F407MAC與DP83848實現乙太網通訊五(裸機移植LwIP協議棧)Mac協議
- SGU 495 Kids and Prizes:期望dp / 概率dp / 推公式公式
- AIX中的裸裝置AI
- oracle 裸裝置(轉載)Oracle
- _declspec(naked) 使用(裸函式)函式
- 為ASM生成裸裝置ASM
- linux裸裝置操作Linux
- 插頭dp初探
- DP rman backup scripts