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\) 个。

然后就做完了。

posted @ 2022-03-16 22:27  Suzt_ilymtics  阅读(61)  评论(0编辑  收藏  举报