草,賽時寫題解(
分奇偶討論一下,可以知道方案數為 \(\lfloor\frac\rfloor\)。
首先可以隨便構造使得前 \(a\) 個字元中有 \(b\) 個不同字母。然後對於任意的 \(i\in [a+1, n]\),令 \(s_i=s_\) 即可。
設最大的組有 \(x\) 人,非空的組有 \(y\) 個,如果 \(x\ne y\),顯然答案可以取到 \(\min(x, y)\),否則,最大的組會被取空,答案要 \(-1\)。
如果保證每一行、每一列、每個九宮格都恰好有乙個數被修改了,不難看出剛好滿足題意。
設行、列都由 \(0\) 開始,可以有下列構造:
for (int i = 0; i <= 2; ++i)
for (int j = 0; j <= 2; ++j)
s[i * 3 + j][i + 3 * j] = (s[i * 3 + j][i + 3 * j] - '0') % 9 + '1';
發現顏色只有 \(200\) 種,考慮將所有非空的顏色對 \((u, v)\) 都拉出來做一遍。將兩種顏色對應的位置歸併排序一下,列舉兩邊的 block 長度,左右各維護乙個指標,中間部分用字首和算即可。
設 \(\mathrm\) 表示每次的非空顏色數,單次複雜度可以達到 \(\mathrm^2+\mathrm\cdot n\)。由於 \(\mathrm\leq n\),因此最壞情況下,複雜度是 \(o\left(\mathrm\cdot \sum n\right)\) 級別的,可以通過。
將網格抽象成圖,發現每個連通塊都是一棵內向基環樹。不難發現,每個連通塊能容納的機械人個數恰好等於環長 \(r\)。在環上任選一點,沿著反邊 dfs,可以給每個點標乙個距離 \(d_i\)。發現所有 \(d_i\bmod r\) 相同的點只能選乙個。因此,對於每乙個 \(d_i\bmod r\) 的值,如果其中存在黑格仔,則可以給答案貢獻 \(1\)。
妙啊,寫完題解的時候比賽還沒結束(
題解 CF1485 簡要題解
奇怪的難度。當 b 2 的時候再操作,操作次數是一定的。因此 b 的變化量很小,暴力列舉。考慮哪個數不同,然後不同後可以選擇的區間是什麼。會發現中間夾著的區間選兩遍,旁邊的選一遍。做字首和好了。簡單轉化發現一定要滿足 a k b 1 k。列舉 b 貢獻式帶有乙個 min 找到其分割點,前一部分直接求...
CF1327 簡要題解
不知道說啥了,直接寫題解吧 手玩一下可以發現,前 k 個奇數的和等於 k 2 在此基礎上,可以進行任意次 2 因此無解當且僅當 n或 n not equiv k pmod 2 模擬找到每個公主匹配的王子,如果完美匹配則無解。否則,任選一位未被選擇的公主和王子就是答案。將所有棋子向左移動 m 1 步,...
Atcoder AGC024 C F簡要題解
ans i 2,ai 0n ai ai 1 1 ai ai 1 1 ai ans sum limits n a i a 1 a i neq a 1 a i ans i 2,ai 0 n ai ai 1 1 ai ai 1 1 ai u v u,v u,v 同色的條件 找到 u,v u,v u,v 路...