當前位置:網站首頁>P1439 【模板】最長公共子序列
P1439 【模板】最長公共子序列
2022-05-14 23:24:02【牛郎戀劉娘,劉娘念牛郎】
樸素版
o(n^2)
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
if(a1[i]==a2[j])
dp[i][j]=max(dp[i][j],dp[i-1][j-1]+1);
//因為更新,所以++;
}
此題n<=1e5 有nlog做法
因為兩個序列都是1~n1 n的全排列,那麼兩個序列元素互异且相同,也就是說只是比特置不同罷了,那麼我們通過一個mp數組將A序列的數字在B序列中的比特置錶示出來——
如果當前b[i[在a序列的比特置 大於當前最長序列的比特置 直接加入
否則 更新 b[i]在a序列的比特置是否優於其他公共子序列
#include <map>
#include <stack>
#include <queue>
#include <vector>
#include <math.h>
#include <string>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <algorithm>
#include <time.h>
#include <set>
#include <list>
#include <iostream>
using namespace std;
//map<string,string>ip;
//map<string,bool>cy;
typedef long long ll;
typedef pair<int,int> PII;
const int maxn=1e5+188;
const ll inf=1e10;
ll n,m,k,flag,cnt,sum;
//map<string,string>mp;
int a[100001],b[100001],mp[100001],f[100001];
int main()
{
cin>>n;
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);mp[a[i]]=i;}
for(int i=1;i<=n;i++){
scanf("%d",&b[i]);f[i]=0x7fffffff;}
int len=0;
f[0]=0;
for(int i=1;i<=n;i++)
{
int l=0,r=len,mid;
if(mp[b[i]]>f[len])f[++len]=mp[b[i]];
else
{
while(l<r)
{
mid=(l+r)/2;
if(f[mid]>mp[b[i]])r=mid;
else l=mid+1;
}
f[l]=min(mp[b[i]],f[l]);
}
}
cout<<len;
return 0;
}
版權聲明
本文為[牛郎戀劉娘,劉娘念牛郎]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/134/202205141913043907.html
邊欄推薦
猜你喜歡
隨機推薦
- VMware虛擬機 之 NAT模式詳解
- 【Devops】kubernetes網絡
- 新式茶飲“拿捏”年輕人,“八馬茶業”們的出路在哪?
- 機器學習之金融風控
- 1.67版本vscode括號著色(Bracket Pair Colorizer)取消
- MySQL日期查詢使用的方法函數
- HugeGraph客戶端APP開發(一)
- [.Net]使用Soa庫+Abp搭建微服務項目框架(五):服務發現和健康監測
- 添加虛擬內存,不添加硬盤的方式
- Redis源碼學習(25),雙端鏈錶學習,adlist.h
- 虛幻5新特性之EnhancedInput
- 緩存命中錶示什麼?
- sencha touch 在線實戰培訓 第一期 第四節
- “我們從 Google 離職了”
- yolov5訓練測試與源碼解讀
- 原生JS 實現輪播圖效果
- 邏輯回歸 解决報錯:ValueError: Solver lbfgs supports only ‘l2‘ or ‘none‘ penalties, got l1 penalty.
- Oracle OCI 計算、存儲、網絡工具旨在降低雲複雜性
- Go項目實戰之日志必備篇[開源十年項目第11次更新]
- Shell脚本變量和運算符
- 聊聊找工作
- 是能力更是文化,談談IT系統的安全發布
- tensorflow學習筆記(五)
- vitest支持cjs的workaround(TypeScript產物commonjs場景)
- 並發編程系列之Lock鎖可重入性與公平性
- 淺談 Fiori Fundamentals 和 SAP UI5 Web Components 的關系
- RAM/FIFO學習回顧
- 最新版2022年任我行管家婆工貿版ERP M7 V22.0進銷存財務生產管理軟件網絡版——雲上的集團化制造管理系統
- 【機器學習05】LASSO回歸與ElasticNet(彈性網)
- Idea快捷鍵
- 關於創建模態窗口和非模態窗口的研究
- An End-to-End Steel Surface Defect Detection Approach via Fusing Multiple Hierarchical Features-閱讀筆記
- 【性能測試】第五篇 | Jmeter環境安裝
- Matplotlib使用指南,100個案例從入門到進階!(附源代碼)
- Dots + interval stats and geoms
- SIGIR2022 | 基於用戶價格偏好及興趣偏好的會話推薦
- Cloudreve自建雲盤實站:容量和速度自己來决定
- 利用騰訊雲函數搭建免費代理池
- Redis的安裝及基本數據類型
- js輪播圖效果,透明度漸變實現