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

C++动态规划 DP(1)

C++动态规划 DP

动态规划把大问题拆成小问题,把小问题算出来用dp数组存起来,大问题用小问题解决,递推,不用重复算。

1、斐波那契数列

题目大意:1 1 2 3 5 8 13 21 34 …

公式:dp[n]=dp[n-1]+dp[n-2]

#include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n;//找第n位元素是什么,从1开始 int dp[100]; //设初始条件 dp[1]=1; dp[2]=1; //递推 for(int i=3;i<=n;i++){ dp[i]=dp[i-1]+dp[i-2]; } cout<<dp[n];//第n位元素的数字 return 0; }

2、爬楼梯

题目大意:一次爬1阶,或者2阶,爬到n阶有几种方法

1 2 3 5 8 13 21 34…

公式:dp[n]=dp[n-1]+dp[n-2]

#include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; int dp[105]; dp[1]=1; dp[2]=2; for(int i=3;i<=n;i++){ dp[i]=dp[i-1]+dp[i-2]; } cout<<dp[n]; return 0; }

3、打家劫舍

题目大意:一排房子,每间房子有固定钱财。不能偷相邻两间房子,求最多能偷多少钱。

定义dp, dp[i]:前i间房子,能偷到的最大总钱数

只有1间时,只能偷它,dp[1]=a[1]

有两间时:选钱多的那一间,dp[2]=max(a[1],a[2])

到第i间只有两种选择

1、不偷第i间:最大值=dp[i-1]

2、偷第i间:就不能偷i-1间,只能用dp[i-2]+a[i];

公式:dp[i]=max(dp[i-1],dp[i-2]+a[i])

#include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; int a[105],dp[105]; for(int i=0;i<n;i++){ cin>>a[i]; } dp[1]=a[1]; dp[2]=max(a[1],a[2]); for(int i=3;i<=n;i++){ dp[i]=max(dp[i-1],dp[i-2]+a[i]);//在不偷第i间与偷第i间中选一个最大值 } cout<<dp[n]; return 0; }
http://www.jsqmd.com/news/825366/

相关文章:

  • 全同态加密硬件加速:近内存计算与FlexMem架构解析
  • 终极跨平台Unity资产提取神器:AssetRipper完全指南
  • 多智能体系统状态同步:agentsync开源库的设计原理与工程实践
  • 利川避暑民宿舒适化运营:客流增长策略深度解析
  • 我访谈了20位技术VP,总结出软件测试从业者晋升答辩的5个得分点
  • 轻量级AI模型部署实战:从FastAPI到vLLM,快速搭建对话服务
  • 轻量化目标检测实战:基于Pytorch的Mobilenet-YOLOv4融合架构设计与性能调优
  • 基于MCP协议实现Unity与AI智能体的安全高效通信
  • 2026年淀粉软糖智造升级,如何精准选择汕头优质生产线伙伴? - 2026年企业推荐榜
  • ARM Cortex-A76架构解析与仿真优化实践
  • LightGlue深度解析:自适应特征匹配算法的架构设计与性能优化策略
  • BilibiliDown:5步轻松获取B站高品质音频的完整指南
  • 并行计算与分布式系统核心技术解析
  • c++ 动态链接器audit c++如何使用ld_audit监控so加载过程
  • 2026年5月更新:三坐标测量仪品牌深度剖析,ATOKA阿托卡何以成为国产优选? - 2026年企业推荐榜
  • PP 蜂窝板生产线智能控制系统架构与 PLC 程序设计思路
  • 深入解析VIPT与PIPT:CPU缓存寻址原理与性能优化实践
  • OpenClaw项目DevSecOps实践:基于Vault的Kubernetes秘密管理加固方案
  • AI音视频转文档:Whisper与LLM实战,打造高效知识管理工具
  • ARM Cortex-A处理器Iris组件架构与调试实践
  • AtCoder Beginner Contest 453
  • 【哈尔滨信息工程学院主办,中国民航大学航空工程学院、西华大学、南昌航空大学科技学院协办 | JPCS出版,EI检索稳定】2026年航空航天工程与空天信息国际学术会议(ICAEAI 2026)
  • 制造业数字化转型:云原生工作流重构实践
  • 深圳市2026年打造人工智能先锋城市项目扶持计划申请指南
  • ChatGPT:如何做到常识推理
  • Linux服务器安全加固实战:从SSH防护到自动化部署
  • 容器镜像安全审计利器openshart:从静态分析到CI/CD集成实战
  • 专家系统:装在盒子里的专家
  • RK3588旗舰SoC驱动OpenHarmony标准系统开发实战
  • COMET神经网络翻译质量评估框架:多任务架构解析与多语言质量预测实现