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

C++动态规划4

最长公共子序列

#include<bits/stdc++.h>
using namespace std;
int dp[100][100];
int m,n;
int main()
{string a,b;cin>>a>>b;int la=a.size();int lb=b.size();for(int i=1;i<=la;i++){for(int j=1;j<=lb;j++){if(a[i-1]==b[j-1]){dp[i][j]=dp[i-1][j-1]+1;}else dp[i][j]=max(dp[i-1][j],dp[i][j-1]);}}cout<<dp[la][lb];return 0;
}

拦截导弹

#include<bits/stdc++.h>
using namespace std;
int a[110];
int dp[110];
int n;
int main()
{cin>>n;for(int i=1;i<=n;i++){cin>>a[i];}dp[1]=1;for(int i=2;i<=n;i++){dp[i]=1;for(int j=1;j<i;j++){if(a[j]>a[i]){dp[i]=max(dp[i],dp[j]+1);}}}int ma=-1;for(int i=1;i<=n;i++){ma=max(dp[i],ma);}cout<<ma;return 0;
}

合唱队型

#include<bits/stdc++.h>
using namespace std;
int a[110];
int n;
int dpl[110],dpr[110];
int main()
{cin>>n;for(int i=1;i<=n;i++){cin>>a[i];}dpl[1]=1;for(int i=1;i<=n;i++){dpl[i]=1;for(int j=1;j<i;j++){if(a[j]<=a[i]) dpl[i]=max(dpl[i],dpl[j]+1);}}dpr[n]=1;for(int i=1;i<=n;i++){dpr[i]=1;for(int j=i-1;j<=n;j++){if(a[j]<=a[i]) dpr[i]=max(dpr[i],dpr[j]+1);}}int ma=-1;for(int i=1;i<=n;i++){ma=max(ma,dpl[i]+dpr[i]-1);}cout<<ma;return 0;
}

取数问题

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

跳格子

#include<bits/stdc++.h>
using namespace std;
int x[100010];
int n;
int dp[100010];
int main()
{int a,b,c;cin>>a>>b>>c;for(int i=1;i<=n;i++){int t=((long long)a*i*i+b*i+c)%20000;x[i]=t-10000;}dp[0]=0,dp[1]=x[1];x[n+1]=0;for(int i=2;i<=n+1;i++){dp[i]=max(dp[i-1],dp[i-2])+x[i];}cout<<dp[n+1];return 0;
}

前缀最大和

跳格子2

#include<bits/stdc++.h>
using namespace std;
const int mm=1100000;
long long s[mm],dp[mm],n,i;
int main(){long long a,b,c;cin>>n;cin>>a>>b>>c;for(i=1;i<=n;i++){int tmp=((long long)a*i*i+b*i+c)%20000;s[i]=tmp-10000;}dp[1]=s[1];for(i=2;i<=n;i++){dp[i]=min(dp[i-1]+s[i],dp[i-2]+s[i]);}cout<<min(dp[i-1],dp[i-2]);return 0;
}

http://www.dtcms.com/a/394452.html

相关文章:

  • chmod命令
  • kernel 6.6中新增的EEVDF特性
  • MATLAB M代码解释器设计与C++实现
  • nivida jetson orinnx torch环境搭建
  • Java进阶教程,全面剖析Java多线程编程,线程的生命周期,笔记11
  • Javase 基础加强 —— 12 网络编程
  • 【04】EPGF 架构搭建教程之 工具环境变量的配置
  • Oracle -运维学习路线 --学习篇1
  • 三个余弦:平方和凑成1时会发生什么
  • 碧蓝航线装备参数探究——关于金色之耻
  • Golang圖書館
  • linux命令--迭代积累
  • Unity2D-物理系统
  • 崩铁 预言算牌 解谜
  • 解锁AI巨型模型训练:DeepSpeed ZeRO Offload 全面指南
  • python语言中的常用容器(集合)
  • Python 程序控制流程综合编程
  • Java进阶教程,全面剖析Java多线程编程,同步方法,笔记13
  • 1.6 虚拟机 (答案见原书 P33)
  • 【C++练习】26.在 C++ 中,不使用 “strcpy“ 函数将一个字符串复制到另一个字符串
  • 【分布式技术】Baerer token刷新机制详细解读
  • 第十三章 Ant与Jenkins的集成
  • 通义万相正式开源Wan2.2-Animate动作生成模型
  • 课后作业-2025-09-21
  • 比 IDEA 容器自动化部署更轻量便捷的工具
  • 知识图谱技术对自然语言处理深层语义分析的影响与启示研究
  • Javase 高级技术 —— 01 反射
  • Linux 孤儿进程与进程的优先级和切换和调度
  • QML学习笔记(七)QML的基本数据类型
  • 基于51单片机电子钟闹钟12/24小时制LCD显示