原创 poj 3356 AGTC 【編輯距離】

題意: 給你兩個DNA序列,長度小於1000 ,同時定義了三種編輯操作:1. 將任意一個字符刪除 2. 在任意位置添加一個字符 3. 將任意一個字符替換成令一個字符。 問:將第一個DNA序列變成第二個最少需要多少次操作。 解法: 經典D

原创 poj 2955 Brackets 【區間DP】

題意: 給你一個只包括大小括號的串,一個合法串的定義如下: 1.空串是合法的; 2.若s爲合法的,則 [s] (s) 也爲合法的; 3.若 a,b爲合法的 , ab 也是合法的。 給你一個長度小於100的串,求其所包含的的最長的合法串所包

原创 數據庫範式1NF,2NF,3NF,BCNF詳解

數據庫的設計範式是數據庫設計所需要滿足的規範,滿足這些規範的數據庫是簡潔的、結構明晰的,同時,不會發生插入(insert)、刪除(delete)和更新(update)操作異常。反之則是亂七八糟,不僅給數據庫的編程人員製造麻煩,而且面目可憎

原创 poj 1159 Palindrome 【LCS + 滾動數組】

題意: 給出一個字符串,長度 n<= 5000 ,問最少添加多少的字符可以使原串變爲迴文的。 解法: 問題可以轉化成求原串和倒置後的串的最長公共子串(LCS)的長度,那麼我就需要添加(原串長度-LCS長度) 個字符便可以使其成爲迴文的。

原创 poj 1141 Brackets Sequence 【區間DP+路徑記錄】

題意: 給你一個只包括大小括號的串,一個合法串的定義如下: 1.空串是合法的; 2.若s爲合法的,則 [s] (s) 也爲合法的; 3.若 a,b爲合法的 , ab 也是合法的。 給你一個長度小於100的串,請加入最少的括號使其合法化。

原创 poj 3974 Palindrome 【最長連續迴文子串,Manacher算法】

題意: 給你一個字符串,長度 n <= 106 。求這個字符串的最長連續迴文子串的長度。 解法: Manacher算法可以在O(n) 的時間內求得一個字符串的最長連續迴文子串,屬於模板題。 算法詳解:http://www.cnblogs