每日一題(18) poj1159

2021-07-25 02:42:34 字數 822 閱讀 2049

1. 自己思考思路的時候開始覺得用動態規劃,但是想不出公式。後來覺得如果把輸入的字串反過來,然後和原來的字串相比求最大序列,然後答案就是原來的序列減去最大序列了。因為無法匹配的肯定需要新增。可以匹配的話就一定會出現在最大序列裡面。這可以用反證法證明。解決了方法的問題。下面就是**。其實就是乙個最大序列匹配的問題。也是動態規劃,公式:dp[i][j] = max

**:#include#include#includeusing namespace std;

//變數和要用到的資料

const int maxn = 5005;

char s[maxn];

char s2[maxn];

//int dp[maxn][maxn];

int dp[maxn][maxn];

int n;

int big (int temp1, int temp2, int te***)

{int result = temp1;

if(result

#include#include#includeusing namespace std;

//變數和要用到的資料

const int maxn = 5005;

char s[maxn];

char s2[maxn];

//int dp[maxn][maxn];

int dp[maxn];

int n;

//求三者之間的最大值

int big (int temp1, int temp2, int te***)

{int result = temp1;

if(result

每日一題18 棧

用c 寫了乙個棧模板,其間用了一些 effective c 的準則,記錄在這裡嘍。這個類還沒有做到異常安全,以後改進!stack.h檔案。ifndef stack h define stack h namespace mydatastructure void init int capacity vo...

每日一題 1 8 set false path

18.以下關與false path正確的是 a a.一般非同步電路可以設定為false path b.兩個不同頻率的介面一定可以設定為false path c.一般非同步復位可以設定為false path d.一般模擬ip和系統的互聯介面都可以設定為false path 分析 false pth就是...

每日一題 18 驗證回文串

給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true 示例 2 輸入 race a car 輸出 false 思路 從字串開頭與末端同時遍歷字...