處理字串

2021-10-05 08:38:30 字數 600 閱讀 1723

大致題意:就是有乙個字串要讓它成為回文串,每處理乙個字串要花費不同的錢,求最小花費。

題解:求將輸入的字串變為回文字串的最小花費。

區間dp,將整個區間分為不同的小區間,進行求解。

分三種情況,如果s[i][j]是回文字串,dp[i][j] = dp[i+1][j-1]

如果s[i+1][j]是回文字串,dp[i][j] = dp[i+1][j]+cost[i]

如果s[i][j-1]是回文字串,dp[i][j] = dp[i][j-1]+cost[j]

狀態轉移方程有些類似於lcs

#include< cstdio>

#include< iostream>

#include< cstring>

using namespace std;

const int n=2e3+5;

const int inf=0x3f3f3f3f;

char s[n];

int cost[30], dp[n][n];

int main()

for(int len=2;len<=m;len++)}}

cout

}

字串處理 字串反轉

請原諒博主今天很閒,於是乎博主又開始更新微博了。這次要更新的問題是 編寫乙個函式,反轉乙個單詞的順序。例如 do or do not,there is no try.就要反轉成 try.no is there not,do or do 大家要認真看看這道題,這道題和大家想象的貌似有點不同。首先字串反...

字串處理

uncode與ansi字串轉換 我們使用windows函式multibytetowidechar將多位元組字串轉換成寬字元字串。函式如下 int multibytetowidechar uintcodepage dworddwflags lpcstrlpmultibytestr intcbmulti...

字串處理

byte array new byte 2 array system.text.encoding.default.getbytes 啊 int i1 short array 0 0 int i2 short array 1 0 unicode解碼方式下的漢字碼 array system.text.e...