首页 > 其他分享 >状态机模型

状态机模型

时间:2023-12-09 20:33:38浏览次数:28  
标签:状态 模型 状态机 fi 行为 kfi

1.acwing 1057

闫氏DP分析法
状态表示fi,j,kfi,j,k—集合: 考虑前 i 天的股票,第 i 天的 决策 是 k,且完成的 完整交易数 为 j 的方案

状态表示fi,j,kfi,j,k—属性: 方案的总利润 最大MAX

状态计算fi,j,kfi,j,k:

fi,j,0=max(fi−1,j,0,fi−1,j−1,1+wi)

fi,j,1=max(fi−1,j,1,fi−1,j,0−wi)
接下来用 状态机模型 解释一下状态计算

 

状态机模型DP
第 i 天状态是持仓状态(j=1),则第 i 天可能产生的行为是 买入行为 或 持仓行为
第 i 天状态是空仓状态(j=0),则第 i 天可能产生的行为是 卖出行为 或 空仓行为

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 #define ll long long
 4 const int N = 1e5 + 10,M = 110,inf = 1e9;
 5 const int mod = 1e9 + 7;
 6 #define cy cout << "Yes" << endl
 7 #define cn cout << "No" << endl
 8 
 9 int n,m;
10 int w[N];
11 int f[N][M][2];
12   
13 
14 int main() {
15     scanf("%d%d", &n, &m);
16     for (int i = 1; i <= n; i ++ ) scanf("%d", &w[i]);
17 
18     memset(f, -0x3f, sizeof f);
19     for (int i = 0; i <= n; i ++ ) f[i][0][0] = 0; //初始化
20     
21     for (int i = 1; i <= n; i ++ )
22     {
23         for (int j = 1; j <= m; j ++ ){
24         f[i][j][0] = max(f[i - 1][j][0],f[i - 1][j][1] + w[i]);
25         f[i][j][1] = max(f[i - 1][j][1],f[i - 1][j - 1][0] - w[i]);
26         }
27     }
28     
29     int res = 0;
30     for (int i = 1; i <= m; i ++ ) res = max(res,f[n][i][0]); //最后一个一定要为0,表示完整的一次交易
31     
32     cout << res << endl;
33 }
Code

 

标签:状态,模型,状态机,fi,行为,kfi
From: https://www.cnblogs.com/rw666/p/17891443.html

相关文章

  • 模型评价指标
    网址:https://blog.csdn.net/seagal890/article/details/105059498TruePositive(TP):真正类。样本的真实类别是正类,并且模型识别的结果也是正类。FalseNegative(FN):假负类。样本的真实类别是正类,但是模型将其识别为负类。FalsePositive(FP):假正类。样本的真实类别是负类,但是模型将......
  • 在OpenCV基于深度学习的超分辨率模型实践
    1.引言OpenCV是一个开源的计算机视觉库,拥有大量优秀的算法。基于最新的合并,OpenCV包含一个易于使用的接口,主要用于实现基于深度学习方法的超分辨率(SR)。该接口包含预先训练的模型,这些模型可以非常容易和有效地用于推理。在这篇文章中,我将解释它可以做什么,并逐步展示如何使用它。闲......
  • 饮冰十年-人工智能-FastAPI-03- FastAPI之模型迁移(类似Django的migrante)
         在开发Web应用程序时,通常会涉及到数据库模型的更改,例如添加新的表、字段或索引。为了使这些更改反映在数据库中,我们使用数据库迁移工具。FastAPI本身并不包含数据库迁移(migration)的功能,但你可以使用第三方库来处理数据库迁移。其中,Alembic是一个常用的数据库迁......
  • AI模型监控和维护
    当AI模型被成功部署并应用于实际场景后,还需要持续地进行监控和维护,以确保模型性能稳定并满足用户需求。以下是一些建议和注意事项:性能监控:部署后的AI模型需要不断监控其性能,以确保模型在现实生活中提供预期的结果。这种监控可以包括定期检查模型的准确性、召回率、F1分数等指标,以及......
  • 动手实现基于 JSON 和 OData 两种数据模型的 Web 应用表格控件行项目的添加和删除
    文章标题描述的需求是笔者在工作和网络上经常收到的前端开发领域的咨询话题之一。Web应用的表格控件,在切换到编辑模式下之后,给用户提供了行项目的添加和删除功能。基于MVC和MVVM框架的前端控件,都离不开Model即数据模型层。笔者工作中使用最多的模型层实现技术,即JSON模型......
  • Django 含有外键模型新增数据以及序列化
    Django含有外键模型新增数据以及序列化Django原生实现外键classAppleModel(models.Model):id=models.AutoField(primary_key=True)app_name=models.CharField(max_length=50)classPickleModel(models.Model):pid=models.AutoField(primary_key=True)......
  • 使用8卡3090微调llama2-70B模型
    写在前面很多问题尚未弄清,还在进一步调整目前已知我用8卡的3090采用deepspeedZeRO3进行运行,下面是deepspeed3的配置1{2"fp16":{3"enabled":"auto",4"loss_scale":0,5"loss_scale_window":1000,6......
  • Linux内核贡献成熟度模型 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/process/contribution-maturity-model.htmlLinux内核贡献成熟度模型背景作为2021年Linux内核维护者峰会的一部分,讨论了招募内核维护者以及维护者继任方面的挑战。其中一些结论包括,作为Linux内核社区的一部分,公司需要允许工程师作为工作......
  • 1文件+2个命令,无需安装,单机离线运行70亿大模型
    1文件+2个命令,无需安装,单机离线运行70亿大模型大家好,我是老章最近苹果发布了自己的深度学习框架--MLX,专门为自家M系列芯片优化。看了展示视频,这个框架还能直接运行Llama7B的大模型,在M2Ultral上运行流畅。但是我尝试了一下,我的M2Macmini根本跑不动,模型权重太大了。这倒勾起......
  • 近屿智能OJAC:大模型工程师与产品专家深度训练营火热招生中
    近屿智能OJAC的第五期“AIGC星辰大海:大模型工程师与产品专家深度训练营”火热招生中! 近屿智能OJAC始终坚守着"别人教您使用AIGC工具,例如ChatGP7和MJ,我们教您预训练和微调大模型以及开发软/硬件AI产品"的服务宗旨。已经培育了上千位在AIGC领域的大模型专家,并协助他们发明了一系列基......