大科學家dddddd最近在研究轉基因白菜,白菜的基因序列由一串大寫英文本母構成,dddddd經過嚴謹的推理證明發現,只有當白菜的基因序列呈按位非遞減形式時,
這株白菜的高附加值將達到最高,於是優秀的dddddd開始著手修改白菜的基因序列,dddddd每次修改基因序列的任意位需要的代價是111,dddddd想知道,
修改白菜的基因串行使其高附加值達到最高,所需要的最小代價的是多
少。類似於最長公共子串行的變形?
我們設最長公共子串行為lsc(x,y),看看最長公共子串行的狀態轉移方程:
我們再分析這道題,輸入的字串如果要更改的少,那就要按『a』到『z』順序可重複的公共子串行最長。
設滿足條件的子串行為f(x,y),
當a[n]!=b[m]時,我們會產生兩個子問題:
因為a[n]!=b[m],兩個字串的最後乙個字元中肯定有乙個不是f(x,y),解決以上兩個子問題,找到最優解。
當a[i]=b[i]時,我們也會遇到這兩種情況:
不同的是,長度都能+1,因為a[n]=b[m],可以選擇兩種情況的最大值進行比較。
最後我們得出狀態方程:
就是這樣了,o((>ω< ))o!
accode:
char a[1000100],p;
ll n,dp[
1000100][28
];int
main()
}cout
<< n - dp[n][25];//
減去f(n,25)就可以得到需要改變的最小值了。
return0;
}
day3 2019 4 9牛客網10題
1 有一台系統為linux的計算機,在其當前目錄下有乙個名為test的文字檔案,管理員小張要用vi編輯器開啟該文件以檢視其中的內容,應使用 vi test 命令.2 下列哪些命令可以測試網路通不通?ping 3 在rhel5系統中,在vi編輯器環境中的任意時刻,選擇 esc 鍵後,編輯器將進入 命令...
牛客練習賽10第二題
include include include include include define ll long long define n 1000009 using namespace std int a n n int b n r int maxn n int main printf d n b ...
牛客網 資料庫SQL實戰10
獲取所有非manager的員工emp no create table dept manager dept no char 4 not null emp no int 11 notnull from date date notnull to date date notnull primary key ...