POJ2181(DP)
来源:互联网 发布:钱德勒宾 知乎 编辑:程序博客网 时间:2024/06/06 02:34
题目:题目链接
题目意思:
从一列数字中按照编号从小到大有选择的取数,若取到的数字的为第奇数个则加上该数,否则减去该数,问取到的数的
最大总和。
解题方法:
动态规划:
dp[i][0] = max(dp[i - 1][0], dp[i - 1][1] + num[i])表示当前是第奇数个;
dp[i][1] = max(dp[i - 1][1], dp[i - 1][0] - num[i])表示当前是第偶数个;
#include <iostream>#include <cstdio>#include <string>#include <string.h>#include <map>#include <vector>#include <cstdlib>#include <cmath>#include <algorithm>#include <queue>#include <set>#include <stack>using namespace std;#define N 200000int sum[N];int dp[N][2];int n;int main(){ scanf("%d", &n); memset(sum, 0, sizeof(sum)); memset(dp, 0, sizeof(dp)); for(int i = 1; i <= n; ++i) scanf("%d", &sum[i]); for(int i = 1; i <= n; ++i) { dp[i][0] = max(dp[i-1][0], dp[i-1][1] + sum[i]);//偶数位 dp[i][1] = max(dp[i-1][1], dp[i-1][0] - sum[i]);//奇数位 //cout << i << ": "<< dp[i][0] <<' '<< dp[i][1] << endl; } printf("%d\n", max(dp[n][0], dp[n][1])); return 0;}
- POJ2181(DP)
- poj2181--Jumping Cows(DP)
- poj2181
- POJ2181
- poj2181
- poj2181解题报告
- POJ2181强连通分量
- poj2181 hdu2713 Jumping Cows
- poj2181 哈密顿绕行世界问题
- colors颜色的长度 (来自刘汝佳紫书) dp+dp+dp
- 区间DP -- 石子合并(朴素DP)
- 疯狂 dp(一) 线性 dp
- hdu 3480 Division(DP-DP优化)
- hdu 2196 Computer(DP-树形DP)
- hdu 4044 GeoDefense(DP-树形DP)
- HDOJ-4276(树形DP+背包DP)
- DP·数位DP(2)
- DP·数位DP(4)
- char*,string,CString,int,char[]之间的转换
- ie overflow无效解决办法
- Java权限限制符的一些记录
- JRuby(学习 环境搭建 与 尝试)
- ACM 1001 Exponentiation 高精度幂浮点型的运算
- POJ2181(DP)
- 简单三步创建文字水彩肖像
- 注册了好久,放上我的第一篇博客吧,写了一个作业小游戏:井字棋
- Qt plugin 的创建和动态加载
- 3N数链问题
- wikioi 糊涂的记者 (最大权匹配+恶心的高精度)
- SSH框架面试题
- 【Centos5.x】DNS
- 备选方案