牛客競賽(字串 思維)

2021-10-11 09:17:12 字數 921 閱讀 4990

題目描述

給出乙個僅包含小寫字母的字串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 輸出描述 一行輸出個結果代表最大值 輸...