題解 洛谷P1439 模板 最長公共子串行

2022-05-24 09:09:12 字數 514 閱讀 7453

原題

將第乙個序列依次從左到右標號,然後對映到第二個序列中

因為第乙個序列標號只上公升的所以問題就轉化為序列2標號後的最長上公升子串行

#include#include

using

namespace

std;

const

int maxn=100010

;int

n,a[maxn],b[maxn];

intc[maxn];

intstack[maxn];

int ans=1

;int

qwq[maxn];

intmain()

for(int i=1;i<=n;i++)

stack[

1]=c[1

];

for(int i=2;i<=n;i++)

else

}printf("%d

",ans);

return0;

}

洛谷 P1439 模板 最長公共子串行

lis lcs 對映 題目描述 給出1 n的兩個排列p1和p2,求它們的最長公共子串行。輸入輸出格式 輸入格式 第一行是乙個數n,接下來兩行,每行為n個數,為自然數1 n的乙個排列。輸出格式 乙個數,即最長公共子串行的長度 輸入輸出樣例 輸入樣例 1 5 3 2 1 4 5 1 2 3 4 5 輸出...

洛谷P1439 模板 最長公共子串行

給出1 n的兩個排列p1和p2,求它們的最長公共子串行。輸入格式 第一行是乙個數n,接下來兩行,每行為n個數,為自然數1 n的乙個排列。輸出格式 乙個數,即最長公共子串行的長度 輸入樣例 1 5 3 2 1 4 5 1 2 3 4 5輸出樣例 1 3 資料規模 對於50 的資料,n 1000 對於1...

P1439 模板 最長公共子串行(洛谷)

傳送門 這道題lcs。o n 2 暴力不僅會tle還會re。暴力的話就是dp的那個式子。這裡給出對數時間處理的 我們記錄陣列a的每個元素所在的下標,即把下標和對應的元素內容進行調換,得到pos。然後我們把pos陣列和b陣列進行操作,查詢b i 在pos中對應的位置 即在a中對應的位置 求出pos陣列...