UPC3459 移除字元

2021-09-24 10:48:28 字數 1218 閱讀 4582

題目描述

給出乙個字串 s 和一些長度為 3 的非法串(由英文小寫字母組成)。你需要在字串 s 中移除一些字元使得變更後的字串不包含任何非法串。

求最小的需要移除的字元個數。

輸入輸入含多組資料,一直處理到檔案結束。對於每組資料:

第一行是字串 s,長度不大於 50000。

第二行是非法串個數,個數不大於 676。

第三行到最後一行每行 3 個字母表示非法串。

輸出對每組資料,輸出最小需要移除的字元個數。

複製樣例資料

abcdd

2abc

abd

樣例輸出
1

2017

華東理工上海高校邀請賽

#include "

bits/stdc++.h

"using

namespace

std;

const

int maxn = 5e4 + 100

;bool illegal[27 * 26 * 26 + 30

];int dp[maxn][26 * 26 + 30];//

de了乙個小時的bug。。 這裡第二維一開始開了27*26,下面為to是26*26+26,訪問錯誤位址

char

str[maxn];

intmain()

}memset(dp[

0], 0x80, sizeof dp[0]);//

負無窮 dp[0][0] = 0

;

const

int to = 26 * 26 + 26

;

//dp[i][j]表示到i時以 不合法子串字首j 為字尾的合法串的最大長度

for (int i = 0; i <= n; i++)

else

if (!illegal[j * 26 +x]) }}

int ans = 0

;

for (int i = 0; i <= to; i++)

printf(

"%d\n

", n -ans);

}return0;

}

posted @

2019-01-31 22:15

albert_liu 閱讀(

...)

編輯收藏

php移除最少字元變成回文串

s for i 0 i 15 i s string strtoupper s echo string 這是隨機生成乙個字串 一段字串 移除最少的字元 使之成為乙個回文串 比如 abba ababa a 都是回文串 absdfda 移除最少字元後形成回文 變成 adfda 重點講解下 回串文的 第乙個...

C 字串處理 擷取 替換 移除

問題1 我想刪除字串中指定的字元。解答 技巧性的方法,用replace 例如 string str how are you 現在我們刪除它中間的空格,則 str str.replace 懂了吧,把要刪除的字元替換成 就 ok了!問題2 我想刪除字串開頭和結尾的空格。解答 用trim 系列。trim ...

探索陣列和字串 移除元素

給你乙個陣列 nums 和乙個值 val,你需要 原地 移除所有數值等於 val 的元素,並返回移除後陣列的新長度。不要使用額外的陣列空間,你必須僅使用 o 1 額外空間並 原地 修改輸入陣列。元素的順序可以改變。你不需要考慮陣列中超出新長度後面的元素。示例 1 給定 nums 3,2,2,3 va...