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

泰国金木棉做网站网站外贸都用什么网站

泰国金木棉做网站网站,外贸都用什么网站,设计交流网站,Wordpress始于一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),…

一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。

  1. 输入:[1,2,3,1],输出:4,解释:选择1号预约和3号预约,总时长 = 1 + 3 = 4。
  2. 输入:[2,7,9,3,1],输出:12,解释:选择1号预约、3号预约和5号预约,总时长 = 2 + 9 + 1 = 12。
  3. 输入:[2,1,4,5,3,1,1,3],输出:12,解释:选择1号预约、3号预约、5号预约和8号预约,总时长 = 2 + 4 + 3 + 3 = 12。

这题是打家劫舍问题的变形。你个小偷换了个马甲,我就不认识你了?我们用动态规划的思想来解决这个问题。

确定状态表示:根据经验和题目要求,我们用dp[i]表示,选择完i位置之后,此时的最长预约时长。再细分为:

  • 用f[i]表示,接受i位置的预约之后,此时的最长预约时长
  • 用g[i]表示,不接受i位置的预约之后,此时的最长预约时长

推导状态转移方程:

  • 如果接受i位置的预约,那么就不能接受i - 1位置的预约。所以,接受i位置的预约之后的最长预约时长,就等于不接受i - 1位置的预约之后的最长预约时长加上i位置的预约的时长,即f[i] = g[i - 1] + nums[i]。
  • 如果不接受i位置的预约,那么既可以接受i - 1位置的预约,也可以不接受i - 1位置的预约。由于没有接受i位置的预约,所以此时的最长预约时长和选择完i - 1位置之后的最长预约时长相同,要么是接受i - 1位置的预约之后的最长预约时长f[i - 1],要么是不接受i - 1位置的预约之后的最长预约时长g[i - 1]。所以不接受i位置的预约的最长预约时长是这两者的较大值,即g[i] = max(f[i - 1], g[i - 1])。

综上所述:f[i] = g[i - 1] + nums[i],g[i] = max(f[i - 1], g[i - 1])

初始化:根据状态转移方程,由于f[i]和g[i]都依赖于i - 1位置的值,所以我们要初始化f[0]和g[0]。

  • f[0]表示接受0位置的预约之后,此时的最长预约时长,显然就是0位置的预约时长,即f[0] = nums[0]。
  • g[0]表示不接受0位置的预约之后,此时的最长预约时长,显然g[0] = 0。

综上所述:f[0] = nums[0],g[0] = 0

填表顺序:根据状态转移方程,f[i]依赖于g[i - 1],g[i]依赖于f[i - 1]和g[i - 1],所以应从左往右填表,且同时填f表和g表

返回值:假设有n个预约。题目要求我们返回,在选择完n - 1位置的预约之后,最长的预约时长。由于并不确定是否接受n - 1位置的预约,再根据状态表示,我们应返回f[n - 1]和g[n - 1]的较大值

细节问题:f表和g表的规模和nums的规模相同,都是1 x n。另外,如果nums为空,直接返回0即可

时间复杂度:O(N),空间复杂度:O(N)。

class Solution {
public:int massage(vector<int>& nums) {int n = nums.size();// 处理边界情况if (n == 0) {return 0;}// 创建dp表vector<int> f(n);auto g = f;// 初始化f[0] = nums[0];// 填表for (int i = 1; i < n; i++) {for (int j = 1; j < n; j++) {f[i] = g[i - 1] + nums[i];g[i] = max(f[i - 1], g[i - 1]);}}return max(f[n - 1], g[n - 1]);}
};
http://www.sczhlp.com/news/68427/

相关文章:

  • 丽水手机网站建设汽车网址大全软件下载
  • 附近做网站绿色国网app
  • 建立企业网站网站大全全部免费
  • Welcome to PANDA 2025
  • 关于谷歌浏览器安装了vue-devtools插件但在浏览器控制台不显示vue标签的解决方案
  • 【ACM出版社】2025年人工智能与计算社会科学国际研讨会(AICSS 2025)
  • 使用while read line和/etc/passwd,计算用户id总和。
  • 网站建设最好的公司wordpress无法创建目录下
  • 书店网站建设需求分析调研表有个新网站能提供
  • 铁岭做网站一般多少钱教育企业网站源码
  • 帮人做传销网站违法吗如何建设一个电子商务网站
  • 什么的网站策划池州网站建设价格
  • 深圳企业网站建设多少钱校园网站建设先进
  • 互动的网站枣庄做网站
  • matlab模拟飞机3D飞行
  • jvm oom异常调试
  • 乌班图桌面版安装后配置允许root通过图形界面登录和ssh登录
  • 赤峰专业网站建设wordpress自定义页面编码
  • 网站首页快照他人盗用公司资料建设网站怎么处理
  • 建设银行四川分行网站沧州网站制作教程
  • 做的网站怎么让别人也能看到素材中国免费素材网
  • 重庆江北营销型网站建设公司推荐郑州网站优化效果
  • 炸开属性块-可用
  • GBASS 8s查询/解锁表
  • 炸开属性块-填充不对
  • 【OpenCV】4 TrackBar控件
  • mysql的日志管理
  • 做网站数据需求分析南平抖音搜索排名seo软件
  • 电子商务网站规划设计方案石家庄抖音seo公司
  • 乔拓云建站平台不是免费的文山网站建设兼职