前排提醒:本場比賽在 Codeforces::Gym 裏是用的文件 IO。
A. Amusing Numbers
容易發現在 確定的情況下 的值單調不減,於是二分答案即可。
稍微腦補一下發現答案的一定小於 。
每次求 的時候記一下當前串是否爲 和 的前綴,直接搜就行了。
時間複雜度:
B. Bricks
顯然我們只需要取磚塊面積最小的那個面嘗試塞進去。
一種做法是枚舉旋轉角度,由對稱性可知枚舉 即可。時間複雜度爲 ,其中 爲枚舉步長。
另一種做法是稍微觀察一下單調性,找到旋轉過程中長或寬的極值點,直接 判斷。
實際比賽中考慮到時間關係建議使用第一種方法。參考代碼中給出的是第二種方法。
C. Cricket Field
枚舉選出的正方形的左右界,顯然只需要在有樹的豎線中枚舉,之後對中間的所有點求縱座標差的最大值。數據範圍很小隨便暴力都能過。
時間複雜度:
D. Decoding Task
按題意模擬。
E. Evacuation Plan
費用流模板。
F. Folding
區間 DP,中間順便處理一下循環串摺疊的情況即可。
時間複雜度:
G. Ghost Busters
顯然有用的射線只有指向所有球心的以及兩兩球的內公切線。枚舉即可。
第二種情況的公式推導需要一定的空間想象力和一定的幾何與三角恆等變換功底。
注意兩兩球的公切線不一定在兩球心以及座標原點確定的平面內。
簡單說一下第二種情況的推導過程:
不妨設兩個球的球心分別爲 ,所求的公切線爲 ,其在平面 上的投影爲 。
寫兩邊三垂線定理可以解出 和 的夾角。
下面需要求出 在 方向上投影的長度。這個可以由正弦定理和平行四邊形定則推出來。具體的結論看代碼。
時間複雜度:
H. Heroes Of Might And Magic
總狀態數不超過 ,每個狀態的決策數不超過 ,直接爆搜即可。
I. Inlay Cutters
顯然每個點的度數不超過 ,暴力建圖然後暴力數三元環即可。
時間複雜度: