19牛客多校第七場 A題String (模擬)

2021-09-26 00:20:06 字數 651 閱讀 3425

定義完美串,完美串是這個01串在它的所有迴圈子串中字典序最小的那個串,給你個01串,要你把它分割成完美串,要求分割次數最小。

題目並不難,不過要打得漂亮還是有難度。

可以直接暴力跑,用兩指標不斷進行比較,前面的字典序大於後面的那就輸出即可。

看到別人**打得簡潔明瞭(比較部分和更新部分),不由得心生敬佩。

#include

using

namespace std;

typedef

long

long ll;

const

int maxn =

1e4;

char s[maxn]

;int

main()

else

k++;}

while

(r <= j)

r += k - j;

//更新操作

for(

int i = l; i < r;

++i)

printf

("%c"

, s[i]);

printf

(" ");

}printf

("\n");

}return0;

}

牛客多校第七場E Find the median

題意 每次在乙個空區間內加入 l,r 區間內所有的數,然後問每次加入後的中位數是什麼。題解 一道線段樹的題目。a 線段樹的葉子節點維護了乙個區間,這個區間是 l,r 1 為什麼是這區間?因為這樣能不重不漏的包含所有的區間,每次查詢的時候也不會漏掉,自己畫一顆線段樹基本能明白了 b 然後查詢的時候,記...

2019牛客多校第七場

給定乙個01串,求最少的劃分次數,使得每部分的01串都是迴圈字典序最小。從最長的整個串貪心,暴力判斷是否是迴圈字典序最小,若是,直接輸出前面的串,然後後面的串再進行新一輪判斷。include using namespace std const int n 205 int t string s vec...

2020牛客多校第七場H

題目鏈結 任何 1,k 是有效答案。如果 n,k 是有效答案,那麼 n k,k 和 n k,k 都是有效答案。給出t組,n和k 範圍1 1e12 求出 n,k 在n n,k k範圍內的有效個數。在k不變的情況下,n的取值範圍只可能是k的倍數,或者k的倍數 1,可以o 1 算出當前k對應的答案個數。即...