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

蓝肽子序列--字符串+最长子序列的dp

1.字符串根据形式用vector存

2.最长公共子序列的经典dp,字符串99%都得用dp

https://www.dotcpp.com/oj/problem2602.html

#include<bits/stdc++.h>
using namespace std;
#define N 100011
typedef  long long ll;
typedef pair<int,int> pii;
string a,b;
vector<string> x,y; 
int ma;
int dp[1001][1001];
int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>a>>b;string w;for(int i=0;i<a.size();i++){if(a[i]>='A'&&a[i]<='Z'){x.push_back(w);w="";w.insert(w.end(),a[i]);}else w.insert(w.end(),a[i]);}x.push_back(w);w="";for(int i=0;i<b.size();i++){if(b[i]>='A'&&b[i]<='Z'){y.push_back(w);w="";w.insert(w.end(),b[i]);}else w.insert(w.end(),b[i]);}y.push_back(w);int n=x.size();int m=y.size();for(int i=1;i<n;i++){for(int j=1;j<m;j++){if(x[i]==y[j]){dp[i][j]=max(dp[i][j],dp[i-1][j-1]+1);}else{dp[i][j]=max(dp[i-1][j],dp[i][j-1]);///不匹配就从前面找 }ma=max(ma,dp[i][j]);///实时更新,维护最大 }}cout<<ma;return 0;
}

相关文章:

  • 虚拟现实视频播放器 2.6.1 | 支持多种VR格式,提供沉浸式观看体验的媒体播放器
  • 在 Laravel 12 中实现 WebSocket 通信
  • Redis 7.0中5种新特性及实战应用
  • AI Agent 入门指南:从 LLM 到智能体
  • 人工智能如何革新数据可视化领域?探索未来趋势
  • 【编程干货】本地用 Ollama + LLaMA 3 实现 Model Context Protocol(MCP)对话服务
  • 手撕算法(1)
  • Python-map从基础到进阶
  • 42 python http之urllib库
  • Vue 自定义指令输入校验过滤
  • 【前缀和】矩阵区域和
  • Hadoop架构再探讨
  • 【MongoDB篇】MongoDB的聚合框架!
  • python刷题笔记:三目运算符的写法
  • 高等数学第五章---定积分(§5.1定积分的概念、性质和应用)
  • 【HFP】蓝牙语音通信高级功能解析:快速拨号与呼叫等待协议实现
  • 【日撸 Java 三百行】Day 4(条件语句实战——闰年问题)
  • ORACLE EBS 12.1 启用https 简单策略
  • STM32H743单片机实现ADC+DMA多通道检测+事件组
  • nut-list和nut-swipe搭配:nut-cell侧滑定义无法冒泡打开及bug(含代码、案例、截图)
  • 公募基金改革八大要点:建立浮动管理费收取机制、降低规模排名考核权重
  • 【社论】三个“靠谱”为市场注入确定性
  • 李云泽:将加快出台与房地产发展新模式相适配的系列融资制度
  • 新加坡总理黄循财领导人民行动党胜选,外交部回应
  • 新华社:赵心童世锦赛夺冠,中国书写斯诺克运动新历史
  • 新华每日电讯:上海“绿色大民生”撑起“春日大经济”