1. 程式人生 > 其它 >Codeforces Round #499 (Div. 1) VP 記錄

Codeforces Round #499 (Div. 1) VP 記錄

目錄

依舊是沒有體驗感的一次 vp,被各位虐爆了,賽後發現 BC 都是傻逼題,於是我顯的更傻逼了。

特別感謝賽後學妹的開導和鼓勵。

A Fly

\(x,y,k\) 分別表示起飛/降落後的總重,起飛/降落前的總重,起飛係數。

滿足 \(y - \frac{y}{k} = x\),解得 \(y = \frac{kx}{k-1}\)。然後倒著做即可。

B Rocket

發現給的次數剛好是 \(2 \log V\) 次,考慮到如果確定了 \(p\) 序列後,剩下的只需要二分即可。

一開始的思路是考慮利用第 \(i\) 次和第 \(n+i\) 次詢問來確定 \(p_i\)

的值從而確定怎麼二分。然而這個方向是很傻逼的,因為兩次詢問的間隔太長有些東西把握不了。

考慮一開始詢問 \(n\)\(1\) 的值,如果是 \(p_i=1\) 那麼一定會返回 \(1\) ,否則返回 \(0\)

然後就做完了。

C Border

本質是求 \(n\) 個數在模 \(k\) 意義下能有多少種取值方式。

考慮到任何一個可以組成的數一定是 \(g = \gcd (a_1,...,a_n, k)\) 的倍數。(正確性大概考慮的是 \(\text{exgcd}\)

然後列舉 \(i \times g \bmod k\) 就能確定可以去那些值,因為迴圈節是 \(k\),只需要列舉前 \(k\)

個。

然後就做完了。