4150:上机

总时间限制: 1000ms 内存限制: 65536kB
描述
又到周末了,同学们陆陆续续开开心心的来到机房上机。jbr也不例外,但是他到的有点晚,发现有些机位上已经有同学正在做题,有些机位还空着。细心的jbr发现,一位同学来到机房,坐在机位i上,如果他的左右两边都空着,他将获得能力值a[i];如果当他坐下时,左边或者右边已经有一个人在上机了,他将获得能力值b[i];如果当他坐下时,他的左边右边都有人在上机,他将获得能力值c[i]。

同时他发现,已经在上机的同学不会受到刚要坐下的同学的影响,即他们的能力值只会在坐下时产生,以后不会发生变化;第一个机位左边没有机位,最后一个机位右边没有机位,无论何时坐在这两个机位上将无法获得c值。

这时jbr发现有一排机器还空着,一共有N个机位,编号1到N。这时有N位同学们陆陆续续来到机房,一个一个按照顺序坐在这排机位上。聪明的jbr想知道怎么安排座位的顺序,可以使这N位同学获得能力值的和最大呢?

输入
第一行一个整数N(1<= N <= 10000)

第二行N个数,表示a[i]

第三行N个数,表示b[i]

第四行N个数,表示c[i]

(1<= a[i],b[i],c[i] <=10000)
输出
一个整数,表示获得最大的能力值和
样例输入
4
1 2 2 4
4 3 3 1
2 1 1 2
样例输出
14
提示
第一位同学坐在第四个机位上,获得能力值4;
第二位同学坐在第三个机位上,获得能力值3;
第三位同学坐在第二个机位上,获得能力值3;
第四位同学坐在第一个机位上,获得能力值4;
总和为14。

问题链接:Bailian4150 上机
问题简述:(略)
问题分析
DP问题:
dp[i][0]定义为 i-1, i, i+1中, i是最早到
dp[i][1]定义为i-1, i, i+1中, i-1最早到, i次早到
dp[i][2]定义为i-1, i, i+1中, i+1最早到, i次早到
dp[i][3]定义为 i-1, i, i+1中, i最晚到
程序说明:(略)
参考链接:(略)
题记:(略)

AC的C++语言程序如下:

/* Bailian4150 上机 */#include <bits/stdc++.h>using namespace std;const int INF = 0x3f3f3f3f;
const int N = 10000 +1;
int a[N], b[N], c[N], dp[N][4];int main()
{int n;scanf("%d", &n);for (int i = 1; i <= n; i++) scanf("%d", &a[i]);for (int i = 1; i <= n; i++) scanf("%d", &b[i]);for (int i = 1; i <= n; i++) scanf("%d", &c[i]);dp[1][0] = a[1];dp[1][1] = -INF;dp[1][2] = b[1];dp[1][3] = -INF;for (int i = 2; i <= n; i++) {dp[i][0] = a[i] + max(dp[i - 1][2], dp[i - 1][3]);dp[i][1] = b[i] + max(dp[i - 1][0], dp[i - 1][1]);dp[i][2] = b[i] + max(dp[i - 1][2], dp[i - 1][3]);dp[i][3] = c[i] + max(dp[i - 1][0], dp[i - 1][1]);}printf("%d\n", max(dp[n][0], dp[n][1]));return 0;
}

Bailian4150 上机【DP】相关推荐

  1. 《php开发典型模块大全》读书笔记 第三章 mysql数据库基础

    第三章  mysql基础 show columns  from table describe table alter table 修改表 rename   table   t1  to   t2 整型 ...

  2. 浙江大学软件学院2020年保研上机模拟练习 7-4 Shopping With Coupons

    目录 解题思路演进过程 第一次程序 第二次程序 第三次程序 解题思路演进过程 首先是题目的理解上:有n个商品,n张优惠券,实际上能买的商品个数最多就是n*n,为啥呢,这题默认是买一个商品必须用一张券, ...

  3. 上机环境是什么意思_380元入手RX580满血显卡,跑分17万,还要什么自行车

    今年显卡的行情都要比去年上涨一些,特别是刚过完年那一段时间,价格上涨的尤其的快,一张显卡上涨几十块,当时也是不敢入手 ,等到了现在行情总算要好一些了,价格也适当的在往下走,最后入手了一款性价比超高的显 ...

  4. HDU 1231.最大连续子序列-dp+位置标记

    最大连续子序列 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  5. 计算机专业考研复试上机算法学习

    计算机专业考研复试上机算法学习 这篇博客是博主在准备可能到来的线下上机复试基于王道机试指南的学习,将各道习题链接和代码记录下来,这篇博客权且当个记录. 文章目录 计算机专业考研复试上机算法学习 1.S ...

  6. 华为2017年实习招聘上机题

    表示今年华为的上机题是在牛客网上进行的.难度较往年来说降低了几个档次,可能是实习生招聘的要求不是那么高.之前一直在刷华为武研所的OJ,总体而言今年实习生的上机题水平与OJ上的简单题一致. 离上机已经过 ...

  7. 西安电子科技大学2018考研复试计算机类上机试题总结

    根据回忆整理的复试上机题型,有意向报考西电计算机专业的同学可以试试做下. 第一题: /*问题描述:最近很火的微信游戏跳一跳游戏规则如下:短跳得1分,跌落游戏结束,长跳得2分,并且长跳可连续累加,第一次 ...

  8. 2017级算法模拟上机准备篇(一)

    回顾一下往年的考题知识点: The Last Battle!! 2014级算法期末上机 简单题--I wanna be the 升级者Ⅰ 结构体排序  STL:sort() 简单题--I wanna ...

  9. 【HDU 1846】 Brave Game DP爆破法

    Problem Description 十年前读大学的时候,中国每年都要从国外引进一些电影大片,其中有一部电影就叫<勇敢者的游戏>(英文名称:Zathura),一直到现在,我依然对于电影中 ...

最新文章

  1. 【Android 异步操作】HandlerThread 示例 ( 初始化并执行 | 获取Looper | 获取 Handler | 获取消息队列 | 设置空闲队列 | 代码示例 )
  2. 雷林鹏分享:Ruby XML, XSLT 和 XPath 教程
  3. ps怎么把一个颜色替换成另一个颜色_常用的60个PS技巧,助你成为PS大神!
  4. go语言中结构体与json
  5. XML解析(二),DOM解析XML
  6. PKU 学生的反馈 2009 –2
  7. java实现log4j_log4j在java中实现
  8. 汉字为什么能流传至今_女皇武则天自创18个汉字,有17个被废除了,只有这1个字流传至今...
  9. Qt笔记-Qt获取百度下拉推荐词
  10. python3x完全兼容python2x_李亚涛:一台电脑python2x与python3x如何都可以用?
  11. e - 数据结构实验之查找五:平方之哈希表_面试中常被问到的Hash表,你了解吗
  12. acrobat xi pro 简体中文语言支持包_恐龙模拟新作《Paleo Pines》Steam明年发售 支持简中...
  13. I00016 打印等腰三角形字符图案(底边在左或右)
  14. php怎么写脚本,PHP脚本来写Daemon程序_php
  15. 小度wifi当无线网卡
  16. 身份证前6位对应的省市区代码(超详细)
  17. u盘写保护+计算机管理,取消u盘写保护的操作方法-电脑自学网
  18. bleeding edge是什么意思
  19. 各系列显卡性能参数对比
  20. Canvas制作RPG手机版游戏(一):

热门文章

  1. MASQUERADE
  2. animate inater插件_基于animate.css动画库的全屏滚动小插件,适用于vue.js(移动端、pc)项目...
  3. C#反射取得方法、属性、变量
  4. 小程序uniapp基础
  5. linux c++ sqlite_SQLite 真的很容易编译 | Linux 中国
  6. html5做在线音乐,html5实现在线响应式音乐播放器
  7. ecology9 系统文件常用说明
  8. springboot集成mybati 后又使用mybatisPlus 出现的问题 BindingException:Invalid bound statement
  9. aws lam nodejs mysql_NodeJs IF Statement in AWS Lambda using MySQL database
  10. Python 之面向对象 继承