定義完美串,完美串是這個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對應的答案個數。即...