時間限制:10000ms
單點時限:1000ms
記憶體限制:256mb
對於乙個01字串,你每次可以將乙個0修改成1,或者將乙個1修改成0。那麼,你最少需要修改多少次才能把乙個01串 s 變為有序01字串(有序01字串是指滿足所有0在所有1之前的01串)呢?
第一行是乙個整數 t,代表測試資料的組數。(1 ≤ t ≤ 10)
以下t行每行包含乙個01串 s 。(1 ≤ |s| ≤ 1000)
對於每組測試資料輸出最少需要修改的次數。
樣例輸入
3樣例輸出000111
010001
100000
011思路:找到1的時候考慮是否改成0;
min(1後面的字串最小改變值+1,1後面的0的個數;
#includeusingnamespace
std;
#define ll __int64
#define mod 1000000007
#define pi (4*atan(1.0))
const
int n=2e3+10,m=1e6+10,inf=1e9+10
;char
a[n];
intzero[n],x;
int dp(char *a,int
len)
intmain()
return0;
}
藍橋 01字串
include defint max 5 int f max int main if i j f j 1 for k 1 k 5 k printf d n a k for i 1 i 5 i include int a 32 int min 1 int b 34 int main for i 0 i...
0 1字串問題
程式設計找出符合下列條件的字串 字串中僅包含0和1兩個字元 字串的長度為n 字串中不含有三個連續的相同子串。輸入檔案僅包含乙個整數n 0 n 35 表示字串的長度。輸出檔案僅包含乙個整數,表示符合上述條件的字串的總數。24 include include includeusing namespace...
最長01字串
題目描述 已知乙個長度為n的字串,只由0和1組成,求乙個最長的子串,要求該子串出0和1出現的次數相等。要求演算法時間複雜度盡可能的低。比如 1000010111000001,加粗的部分有4個0 4個1 思路 1 最簡單的想法就是遍歷所有的子串,之後判斷該子串是否滿足條件 n 2子串,每個子串掃一遍判...