ICPC Central Russia Regional Contest (CRRC 19)題解

題目鏈接:https://codeforces.com/gym/102780函數

寒假第二次訓練賽,(某菜依舊是4個小時後咕咕咕),戰況還行,我的表現極差(高級演員)ui

A:Green teaspa

暴力枚舉便可debug

B:Mysterious Resistorscode

注意到電阻阻值具備單調性,二分遊戲

C:Emoticonsci

聽說是模擬get

D:Power playit

由惟一分解定理可得,\(x=a^{\frac{p}{q}}\) ,因爲\(x\leq10^{18}\)\(x\)爲整數,故\(p,q\)的範圍極小,枚舉便可io

E:Printed circuit board

補題ing

F:A word game

組合遊戲,sg函數很好求,找規律或者遞推都行

G:Hourglass

補題ing

H:Men's showdown

水題

I:Andrew and Python

先通過一次詢問將正方形縮減成一個等腰直角三角形區域

對於三角形區域,要查找的點確定在斜邊的某條平行線上,二分找到這條平行線

再對這條平行線進行二分

J:Something that resembles Waring's problem

容易知道 \((a-1)^3+(a+1)^3+(-a)^3+(-a)^3=6a\),咱們能夠用4個數表示出任意6的倍數,再經過1個數表示模6的餘數

\(x=(x\%6)^3+(\frac{x-(x\%6)^3}{6}+1)^3+(\frac{x-(x\%6)^3}{6}-1)^3+(-\frac{x-(x\%6)^3}{6})^3+(-\frac{x-(x\%6)^3}{6})^3\)

K:Parabolic sorting

若是從總體考慮,這題將會很棘手,不妨考慮單個數的貢獻

對於每一個數考慮它放在遞減序列仍是遞增序列,將左側小於它的數的個數與右側大於它的數的個數取較小值即爲當前數的貢獻

還有一種更加易懂的作法就是從大到小依次考慮每一個數放在遞減序列仍是遞增序列,以最大的數爲例,它必須放在最左側或者最右側,它放置完後次大值同理

總結:

debug效率低下

容易僵化在錯誤的方向

我的思惟能力須要提高

相關文章
相關標籤/搜索