当前位置: 首页 > news >正文

公众号免费模板网站女生零基础可以学什么技术

公众号免费模板网站,女生零基础可以学什么技术,WordPress和cos,马鞍山网站建设推广大家好,我是晴天学长,dp题,怎么设计状态很重要,需要的小伙伴可以关注支持一下哦!后续会继续更新的。💪💪💪 1) .想吃冰淇淋和蛋糕 想吃冰淇淋与蛋糕 输入格式 第一行输入一个整数n。…

大家好,我是晴天学长,dp题,怎么设计状态很重要,需要的小伙伴可以关注支持一下哦!后续会继续更新的。💪💪💪


1) .想吃冰淇淋和蛋糕

在这里插入图片描述
想吃冰淇淋与蛋糕
输入格式
第一行输入一个整数n。代表天数。
第二行输入一个序列a,代表吃蛋糕每天提供的快乐值。
第三行输入一个序列b,代表吃冰淇淋每天提供的快乐值。
输出格式
输出获得的快乐值总和最大的值。
样例输入
3
3 4 4
2 2 1
样例输出
10
说明 你可以第一天吃冰淇淋, 第二天吃蛋糕,第三天吃蛋糕,最终是2+4+4=10. 你不能选择3, 4,4,因为无法连续天玩同一款游戏。
评测数据规模
1≤n≤10,1≤ai,bi< 10*.


2) .算法思路

想吃冰淇淋与蛋糕
1.有4个状态。
(1)连续吃蛋糕一天
(2)连续吃蛋糕两天
(3)连续吃冰淇淋一天
(4)连续吃冰淇淋两天
2.建立一个二维的dp数组
3.遍历n。


3).算法步骤

1.读取输入的数据,包括蛋糕和冰淇淋的数量以及它们的价值。
2.创建一个二维数组dp,用于存储中间结果。dp[i][j]表示在第i个位置选择了蛋糕或冰淇淋后,所能获得的最大价值。
3.初始化dp数组的第一行。根据题目要求,第一个位置可以选择蛋糕或冰淇淋,因此将其价值赋给dp[0][0]和dp[0][1],同时将冰淇淋的价值赋给dp[0][2]和dp[0][3]。
4.从第二行开始,遍历每个位置和选择。对于第i个位置和第j个选择,根据题目给出的规则,更新dp[i][j]的值。
(1)如果j等于0,表示选择了蛋糕,并且前一个位置选择了冰淇淋,所以dp[i][j]等于前一个位置选择冰淇淋的最大价值加上当前蛋糕的价值。
如果j等于1,表示选择了蛋糕,并且前一个位置也选择了蛋糕,所以dp[i][j](2)等于前一个位置选择蛋糕的最大价值加上当前蛋糕的价值。
如果j等于2,表示选择了冰淇淋,并且前一个位置选择了蛋糕,所以dp[i][j](3)等于前一个位置选择蛋糕的最大价值加上当前冰淇淋的价值。
(4)如果j等于3,表示选择了冰淇淋,并且前一个位置也选择了冰淇淋,所以dp[i][j]等于前一个位置选择冰淇淋的最大价值加上当前冰淇淋的价值。
5.遍历完所有位置和选择后,找到dp数组最后一行的最大值,即为所求的最大价值。
6.输出最大价值。


4). 代码实例

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;public class Main {static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));static PrintWriter out = new PrintWriter(System.out);static String[] lines;public static void main(String[] args) throws IOException {lines = in.readLine().split(" ");int n = Integer.parseInt(lines[0]);int[] dangao = new int[n];int[] bingqiling = new int[n];lines = in.readLine().split(" ");for (int i = 0; i < n; i++) {dangao[i] = Integer.parseInt(lines[i]);}lines = in.readLine().split(" ");for (int i = 0; i < n; i++) {bingqiling[i] = Integer.parseInt(lines[i]);}int[][] dp = new int[n][4];dp[0][0] = dangao[0];dp[0][1] = dangao[0];dp[0][2] = bingqiling[0];dp[0][3] = bingqiling[0];for (int i = 1; i < n; i++) {for (int j = 0; j < 4; j++) {if (j == 0) {dp[i][j] = Math.max(dp[i - 1][2], dp[i - 1][3]) + dangao[i];}if (j == 1) {dp[i][j] = dp[i - 1][0] + dangao[i];}if (j == 2) {dp[i][j] = Math.max(dp[i - 1][0], dp[i - 1][1]) + bingqiling[i];}if (j == 3) {dp[i][j] = dp[i - 1][2] + bingqiling[i];}}}long max = Integer.MIN_VALUE;for (int i = 0; i < 4; i++) {max = Math.max(max, dp[n - 1][i]);}out.println(max);out.flush();out.close();}
}

4).总结

  • 状态的定义。

试题链接:

http://www.yayakq.cn/news/664785/

相关文章:

  • 公司做网站需要准备什么漳浦网站设计
  • 卫浴响应式外贸网站建设软件开发模型图
  • 制作网页网站的软件是陕西省领导班子一览表
  • 淘宝客网站能用淘宝图标做标志吗西宁做网站君博先进
  • 网站怎么提升关键词排名房地产销售额
  • 做结婚视频储存网站杭州网站建设方案服务公司
  • 自适应企业建站企业马可波罗网
  • 网站内页标题修改昆山住房与城乡建设局网站
  • 网站排名优化技巧网站安装教程
  • asp网站建设教程python做网站
  • 安全文化建设方案细则青岛seo搜索优化
  • 郴州高端网站建设永久建站空间购买
  • 公司网站页面设计思路网页制作大宝库
  • 如何做网站排名第一做境外的网站网站违法么
  • php网站开发实训报告书网站管理员怎么做联系方式
  • 6网站免费建站个人做网站需要学什么只是
  • 个人做电子商务网站备案12306网站 给手机核验怎么做
  • 一天赚50元的游戏太原seo网站排名优化
  • 国际网站建设经验四川省建设岗位注册中心网站
  • 南宁大型网站设计公司seo搜索培训
  • 做电影网站不放国内主机义乌专业做网站
  • 网站维护描述家具设计网站大全
  • 杭州品牌设计公司宜宾seo快速排名
  • wordpress站点错误西安企业网站设计机构
  • 网站开发后端技术做网站的前端技术
  • 网站后台界面 园林设计广东省住房和城乡建设厅官网网址
  • 建设外贸网站案例网站建设有什么样好的建设意见
  • 齐诺网站建设东莞网站建设做网站西宁seo快速排名
  • 网站 缓存什么时候使用微信的定制开发
  • 有没有网站学做总结个人做的网站有什么危险吗