題目描述
給出乙個僅包含小寫字母的字串s,你最多可以操作k次,使得任意乙個小寫字母變為與其相鄰的小寫字母(ascii碼差值的絕對值為1),請你求出可能的最長相等子串行(即求這個字串修改至多k次後的的乙個最長子序列,且需要保證這個子串行中每個字母相等)。
子串行:從原字串中取任意多個字母按照先後順序構成的新的字串。
示例1輸入
2,「abcde」
返回值示例2
輸入10,「acesxd」
返回值備註:
資料滿足:1≤∣s∣≤2^ 10,1≤k≤3000,其中|s|表示字串的長度。
對給定的乙個字串進行變換操作,計算在最多限定次數變換的情況下能得到的最長相等子串行的長度
變換:1次只能使1個字母變為和他ascii碼值差的絕對值為1的字母,即b經過一次變換只能變為a或c
計算使字串變為a,b,c…z各需要多少次變換,選擇出變換次數最小的,使字母串裡的字母都變為這個需變換次數最小的字母,然後按照每個字母需變化的次數從小到大排序,最後在計算在限定次數內能變化多少個字母,那麼可以變化的字母的個數就是最長相等子串行的長度
#include
#include
#include
#include
using
namespace std;
intmain()
sort
(b,b+j)
;int s=
0,k=
0,p;
for(p=
0; p) maxx=
max(maxx,k);}
printf
("%d\n"
,maxx)
;return0;
}
牛客 倒置字串
經過函式後變為 beijing.like i 輸入描述 每個測試輸入包含1個測試用例 i like beijing.輸入用例長度不超過100 輸出描述 依次輸出倒置之後的字串,以空格分割 1.先把字串整體倒轉 反轉前 i like beijing.反轉後1 gnijied ekil i 2.把字元傳...
CSL的字串(牛客 上海高校程式設計競賽)
時間限制 c c 1秒,其他語言2秒 空間限制 c c 524288k,其他語言1048576k 題目描述 csl 以前不會字串演算法,經過一年的訓練,他還是不會 於是他打算向你求助。給定乙個字串,只含有可列印字元,通過刪除若干字元得到新字串,新字串必須滿足兩個條件 原字串 現的字元,新字串也必須包...
牛客競賽 小A的位運算(思維)
題目描述 位運算是乙個非常重要的東西。而小a最近在學習位運算,小a看到了一道很簡單的例題,是說從n個數裡面選出n 1個數要讓它們或起來的值最大,小a想知道這個答案是多少。你可以幫幫他嗎?輸入描述 第一行乙個整數n表示有n個數接下來一行n個數表示a1,a2 an 輸出描述 一行輸出個結果代表最大值 輸...