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

大型网站建设定制开发js网站开发工具

大型网站建设定制开发,js网站开发工具,店面logo设计制作,阿里云可以几个网站目录 动态规划怎么学? 1. 题目解析 2. 算法原理 1. 状态表示 2. 状态转移方程 3. 初始化 4. 填表顺序 5. 返回值 3. 代码编写 写在最后: 动态规划怎么学? 学习一个算法没有捷径,更何况是学习动态规划, 跟我…

目录

动态规划怎么学?

1. 题目解析

2. 算法原理

1. 状态表示

2. 状态转移方程

3. 初始化

4. 填表顺序

5. 返回值

3. 代码编写

写在最后:


动态规划怎么学?

学习一个算法没有捷径,更何况是学习动态规划,

跟我一起刷动态规划算法题,一起学会动态规划!

1. 题目解析

题目链接:188. 买卖股票的最佳时机 IV - 力扣(LeetCode) 

这道题跟上一道题是一模一样啊,我的评价是,当一个 CV 工程师,

我马上 CV 出结果:

上一题的代码:

这一题的代码:

 虽然话是这么说,我们还是再做一遍这道题:

2. 算法原理

1. 状态表示

dp[ i ] 表示到第 i 天的时候,所能获得的最大利润,

实际上,我们还是可以将他分成两种情况:

买入状态和可交易状态,而且我们需要记录完成了几次交易

f [ i ][ j ] 表示第 i 天结束之后,完成了 j 次交易,处于 “买入” 状态的最大利润,

g [ i ][ j ] 表示第 i 天结束之后,完成了 j 次交易,处于 “可交易” 状态的最大利润,

这里再次说明,买入状态指的是手里有股票,

而可交易状态表示的是手里没有股票。

2. 状态转移方程

我们先从 f [ i ][ j ] 开始分析,就两种情况,一种是昨天是买入,一种是昨天是可交易状态,

买入状态啥也不干就行,可交易状态只要在今天买入就能进入买入状态,所以:

f [ i ][ j ] = max( f [ i - 1 ][ j ],g [ i - 1 ][ j ] - p [ i ] )

然后是 g [ i ][ j ] ,也是同样的两种情况,

如果是买入状态就卖出,当天的 j 是比现在小1的,如果是可交易状态,就啥也不干就行,所以:

g [ i ][ j ] = max( g[ i - 1 ][ j ],f [ i - 1 ][ j - 1 ] + p [ i ] )

3. 初始化

为了防止越界,我们需要对他进行一些特殊的处理,

然后为了防止前面的值影响后面的值,我们需要把数组内容初始化成负无穷大

然后把 f [ 0 ][ 0 ] = -p[ 0 ],让 g [ 0 ][ 0 ] = 0 即可

4. 填表顺序

从上往下,从左往右,两个表一起填

5. 返回值

g 表最后一行的最大值

3. 代码编写

class Solution {
public:int maxProfit(int k, vector<int>& prices) {int n = prices.size();vector<vector<int>> f(n, vector<int>(k + 1, -0x3f3f3f3f));auto g = f;f[0][0] = -prices[0], g[0][0] = 0;for(int i = 1; i < n; i++) {for(int j = 0; j < k + 1; j++) {f[i][j] = max(f[i - 1][j], g[i - 1][j] - prices[i]);g[i][j] = g[i - 1][j];if(j > 0) g[i][j] = max(g[i][j], f[i - 1][j - 1] + prices[i]);}}int ans = 0;for(auto e : g[n - 1]) ans = max(ans, e);return ans;}
};

写在最后:

以上就是本篇文章的内容了,感谢你的阅读。

如果感到有所收获的话可以给博主点一个哦。

如果文章内容有遗漏或者错误的地方欢迎私信博主或者在评论区指出~

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

相关文章:

  • 江苏省建设工程交易中心网站河源网站设计怎么做
  • 做长图网站百度商桥绑定网站
  • 免费网站搭建平台网站定制北京
  • 如何做网站免费教程江西建设职业技术学院网站
  • wordpress富文本seo网站优化方案
  • 怎样在百度上做推广网站优惠券网站怎样做
  • 网站上怎么做浮标建设工程交易中心网站
  • 做软件是什么工作济南网站优化公司
  • 西安网站建设价格低网站注册地
  • 物流网站设计与实现响应式网站搭建
  • 中国制造网外贸网站零基础可以学平面设计吗
  • 广西南宁网络营销网站空间网站链接怎么做
  • 俄罗斯网站设计傻瓜式网站开发工具
  • 什邡市建设局网站h5游戏盒子
  • 个人型网站开站费用sasaki景观设计公司官网
  • 国内网站域名公司的网站建设规划书
  • vs2010网站开发与发布微信手机网站设计6
  • 网站建设多少钱合适互联网营销的十五种方式
  • 电影网站盗链怎么做网址输入入口
  • 做网站电话销售的话术天台县城市建设规划局网站
  • 热搜关键词查询seo推广优化工具
  • oss可以做视频网站吗宁波seo专员
  • 做网站的人西安装修公司网站制作
  • 企业网站制作开发python做音乐网站
  • 网站关键词突然没有排名了网站运营与推广计划书
  • 学习做网站需要多久高校网站平台建设
  • wordpress站点自动推送赣州哪里可以做网站
  • 网站开发方法 优帮云网站备案要多少天
  • 云服务器 可以做网站吗wordpress啥意思
  • 网站建设 选中企动力深圳专业网站优化公司报价