51nod1270(dp)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1270
题意:中文题诶~
思路:dp
s=abs(a1-a0)+abs(a2-a1)....
要使s尽量大,需要让abs(ai-ai-1)尽量大,那么可以让其中一个尽量小,一个尽量大。1<=ai<=bi,所以可以令其中一个为1,一个为bi/bi-1(通过样列大概也能看出那么一点点来)。
那么接下来就是一个简单的dp过程呐.....
用dp[i][0]存储当到第 i 个元素为止前元素选1的最大s,dp[i][1]存储当前选b[i]的最大s,那么状态转移方程为:
dp[i][0]=max(dp[i-1][0], dp[i-1][1]+abs(a[i-1]-1));//当前元素选1
dp[i][1]=max(dp[i-1][0]+abs(a[i]-1), dp[i-1][1]+abs(a[i]-a[i-1]));//当前元素选a[i]
代码:
- #include <iostream>
- #include <stdio.h>
- #include <algorithm>
- using namespace std;
- const int MAXN=5e4+;
- int a[MAXN], dp[MAXN][];//dp[i][0]存储当前元素选1的最大s,dp[i][1]存储当前选b[i]的最大s
- int main(void){
- int n;
- scanf("%d", &n);
- for(int i=; i<n; i++){
- scanf("%d", &a[i]);
- }
- for(int i=; i<n; i++){
- dp[i][]=max(dp[i-][], dp[i-][]+abs(a[i-]-));//当前元素选1
- dp[i][]=max(dp[i-][]+abs(a[i]-), dp[i-][]+abs(a[i]-a[i-]));//当前元素选a[i]
- }
- cout << max(dp[n-][], dp[n-][]) << endl;
- return ;
- }
51nod1270(dp)的更多相关文章
- 51nod1270 数组的最大代价(简单dp)
---恢复内容开始--- 1270 数组的最大代价 题目来源: HackerRank 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 数组A包含N个 ...
- [51nod1270] 数组的最大代价(简单dp)
解题关键:先由贪心的思想得出任何一个位置只能取1或者a[i],然后dp即可. #include<bits/stdc++.h> using namespace std; typedef lo ...
- 51nod1270 【dp】
思路: dp[i][0]代表第i个位置取1,dp[i][1]代表第i个位置取b[i]. #include <bits/stdc++.h> using namespace std; type ...
- BZOJ 1911: [Apio2010]特别行动队 [斜率优化DP]
1911: [Apio2010]特别行动队 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 4142 Solved: 1964[Submit][Statu ...
- 2013 Asia Changsha Regional Contest---Josephina and RPG(DP)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4800 Problem Description A role-playing game (RPG and ...
- AEAI DP V3.7.0 发布,开源综合应用开发平台
1 升级说明 AEAI DP 3.7版本是AEAI DP一个里程碑版本,基于JDK1.7开发,在本版本中新增支持Rest服务开发机制(默认支持WebService服务开发机制),且支持WS服务.RS ...
- AEAI DP V3.6.0 升级说明,开源综合应用开发平台
AEAI DP综合应用开发平台是一款扩展开发工具,专门用于开发MIS类的Java Web应用,本次发版的AEAI DP_v3.6.0版本为AEAI DP _v3.5.0版本的升级版本,该产品现已开源并 ...
- BZOJ 1597: [Usaco2008 Mar]土地购买 [斜率优化DP]
1597: [Usaco2008 Mar]土地购买 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4026 Solved: 1473[Submit] ...
- [斜率优化DP]【学习笔记】【更新中】
参考资料: 1.元旦集训的课件已经很好了 http://files.cnblogs.com/files/candy99/dp.pdf 2.http://www.cnblogs.com/MashiroS ...
随机推荐
- gradle找不到java目录里的mybatis的xml文件
因为idea只编译java,gradle也默认只编译java,所以xml被忽略了. idea目前不知道如何修改,gradle修改时,需要把xml文件加上,不过gradle修改了只对gradle起作用, ...
- EasyDarwin接入ffmpeg实现264转图片快照功能
本文转自:http://blog.csdn.net/cai6811376/article/details/51774467 EasyDarwin一直坚持开源精神,所以我们着手把EasyDarwin中使 ...
- mybatis学习总结(二)——配置
在mybatis中要构建sqlSessionFactory对象,让它来产生SqlSession,而在mybatis-spring中,SqlSession的产生是通过SqlSessionTemplate ...
- 九度OJ 1116:加减乘除 (基础题)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1466 解决:902 题目描述: 根据输入的运算符对输入的整数进行简单的整数运算. 运算符只会是加+.减-.乘*.除/.求余%.阶乘!六个运 ...
- eclipse集成SVN插件-----复制添加插件
首先从网上下载一个svn的插件包, 将插件包解压, 打开eclipse的文件夹, 将svn插件中features文件夹中的jar复制到eclipse中features文件夹中去: 将svn插件中plu ...
- Nodejs下如何判断文件夹的存在以及删除文件夹下所有的文件
代码如下: var folder_exists = fs.existsSync('./cache'); if(folder_exists == true) { var dirList = fs.rea ...
- 服务化之Netty
关于Netty的介绍可参考:https://www.zhihu.com/question/24322387 Netty官网为:http://netty.io/ Git:https://github.c ...
- TortoiseSVN使用笔记
TortoiseSVN版本冲突详解 下列步骤展示了如何将分支A中的修改合并到分支B. 1.在分支B的本地副本目录中选择"合并(Merge)". 2.选择“合并一个版本范围(Me ...
- Codeforces Round #138 (Div. 2) A. Parallelepiped
A. Parallelepiped time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...
- LR-虚拟用户以进程和线程模式运行的区别
进程方式和线程方式的优缺点: 如果选择按照进程方式运行, 每个用户都将启动一个mmdrv进程,多个mmdrv进程会占用大量内存及其他系统资源,这就限制了可以在任一负载生成器上运行的并发用户数的数量,因 ...