Codeforces Round #260 (Div. 2) C. Boredom
2014-08-09 01:27
281 查看
统计每个数字出现的次数,然后从前往后dp;
其中dp[i][0]表示到第i个为止并且选择第i个能得到的最大值;
dp[i][1] 表示到第i个为止并且不选择第i个能得到的最大值;
最终结果取max(dp[manx][0],dp[maxn][1]);
其中dp[i][0]表示到第i个为止并且选择第i个能得到的最大值;
dp[i][1] 表示到第i个为止并且不选择第i个能得到的最大值;
最终结果取max(dp[manx][0],dp[maxn][1]);
#include<cstdio> #include<cstring> #include<cmath> #include<climits> #include<cctype> #include<cstdlib> #include<iostream> #include<algorithm> #include<queue> #include<vector> #include<map> #include<set> #include<string> #include<stack> #define ll __int64 #define MAX 100010 #define INF INT_MAX #define eps 1e-8 using namespace std; ll a[MAX],dp[MAX][2]; int main(){ ll n; while (scanf("%I64d",&n) != EOF){ memset(a,0,sizeof(a)); ll t,maxn = 0; http://codeforces.com/contests/455,456for (int i = 0; i<n; i++){ scanf("%I64d",&t); maxn = max(maxn,t); a[t]++; } memset(dp,0,sizeof(dp)); for (int i=1; i<=maxn; i++){ if (a[i] == 0){ dp[i][0] = max(dp[i-1][0],dp[i-1][1]); dp[i][1] = max(dp[i-1][0],dp[i-1][1]); continue; } if (a[i-1] == 0){ dp[i][0] = max(dp[i-1][0],dp[i-1][1]) + a[i]*i; dp[i][1] = max(dp[i-1][0],dp[i-1][1]); continue; } dp[i][0] = dp[i-1][1] + a[i]*i; dp[i][1] = max(dp[i-1][0],dp[i-1][1]); } printf("%I64d\n",max(dp[maxn][0],dp[maxn][1])); } return 0; }
相关文章推荐
- Codeforces Round #260 (Div. 1) A. Boredom (简单dp)
- Codeforces Round #260 (Div. 2)C. Boredom(dp)
- Codeforces Round #260 (Div. 1) 455 A. Boredom (DP)
- DP Codeforces Round #260 (Div. 1) A. Boredom
- 递推DP Codeforces Round #260 (Div. 1) A. Boredom
- codeforces #260 DIV 2 C题Boredom(DP)
- Codeforces Round #260 (Div. 2) A,B,C
- Codeforces Round #260 (Div. 2) A , B , C 标记,找规律 , dp
- Codeforces Round #260 (Div. 2) B. Fedya and Maths
- Codeforces Round #260 (Div. 2) (DP没学好。。)
- codeforces #260 DIV 2 C题Boredom(DP)
- Codeforces Round #260 (Div. 1) --B. A Lot of Games (Trie)
- Codeforces Round #260 (Div. 2) A B C 水 找规律(大数对小数取模) dp
- Codeforces Round #260 (Div. 2)B. Fedya and Maths
- Codeforces Round #260 (Div. 2)
- Codeforces Round #260 (Div. 1) D. Serega and Fun 分块
- Codeforces Round #260 (Div. 2)B. Fedya and Maths
- Codeforces #260 (Div. 2) C. Boredom(动态规划)
- Codeforces Round #260 (Div. 1)B题(字典树+DFS+博弈)
- Codeforces Round #260 (Div. 2) C Boredom