hdu 1423 最長公共遞增子串行

2022-05-22 07:42:12 字數 1108 閱讀 2872

這題一開始把我給坑了,我還沒知道lcis的演算法,然後就慢慢搞吧,幸運的是還真寫出來了,只不過麻煩了一點。

我是將該題轉換為多條線段相交,然後找出最多多少條不相交,並且其數值死遞增的。

**如下:

#include#include

#include

#include

using

namespace

std;

int dp[510][510

];int list1[510],list2[510

];struct

edgep[

510];

void

init()

intmain()}}

/*for(i=1;i<=n;i++)}}

}}

}printf(

"%d\n

",max);

if(t)

printf("\n

");}

return0;

}

正解的**有如下兩種版本,一種是一維陣列,一種二維。思想是一樣的。

#include#include

#include

using

namespace

std;

int dp[510][510],a[510],b[510

];int lcis(int n,int

m) }

return

ans;

}int

main()

}

#include#include

#include

using

namespace

std;

int f[510],a[510],b[510

];int lcis(int n,int

m) }

int ans=0

;

for(i=0;i<=m;i++)

ans=max(ans,f[i]);

return

ans;

}int

main()

}

最長公共遞增子串行

題目描述小h最近看了諜戰電影,對裡面訊息的加密方式很感興趣,他決定和朋友試一試,小h給朋友兩個序列,兩個序列的最長公共單調遞增子串行就是要傳遞的訊息,有時候序列太長了,小h的朋友找不出來,所以他找到了你 輸入第乙個數字n表示序列長度 後面兩行每行n個數字表示小h給出的兩個序列 n 1000 輸出輸出...

最長遞增子串行 最長公共子串行 最長公共子串

最長遞增子串行a 給定乙個長度為n的陣列,找出乙個最長的單調自增子序列 不一定連續,但是順序不能亂 例如 給定乙個長度為8的陣列a,則其最長的單調遞增子串行為,長度為6.輸入描述 第一行包含乙個整數t,代表測試資料組數。對於每組測試資料 n 陣列的長度 a1 a2 an 需要計算的陣列 保證 1 n...

最長公共子串行 最長遞增子串行 最長遞增公共子串行

求最長公共子串行 int dp maxn maxn int a maxn b maxn int main else dp i j max dp i 1 j dp i j 1 printf d n dp m n return 0 輸出最長公共子串行 int dp maxn maxn int d max...