模拟69—「石子游戏·大鱼吃小鱼·黑客·黑客 」
石子游戏
仙姑
大鱼吃小鱼
可以发现如果每次能让体积增长一倍,那么 \(log\) 次就能到达答案。
增长一倍的方法就是吃掉比自己体积大的鱼。
那么我们需要维护一个数据结构,且支持二分一段前缀和。
如果我们可以得到这个前缀和,那么我们可以把这段鱼吃掉,然后把这段区间删除。
使自己体积增大到能吃比自己原体积大的鱼。
但是我们并不一定要吃那一条,因为我们变大了,所以没准可以吃更大的鱼。
所以吃掉比自己现在体积最小的鱼就行了。
模拟上述过程 \(log\) 次即可得到答案。
发现这个数据结构还需要支持区间删除,区间恢复,单点删除,单点恢复。
想用线段树但不会,考场打了 \(splay\) ,实现方法显然,实现过程困难。
有个小 \(trick\) 就是二分前缀和的时候可以利用差分来实现。
黑客
\(pj\) 题,直接对于每个 \(i,j(i+j\leq999)\) 求出对应合法方案即可。
黑客
简单数位 \(dp\) +高精。
总结
这场看到 \(T1\) 比较 \(ex\) (不会博弈论)。
\(T2\) 一开始不知道为什么一直想给正解套个 \(cdq\) 一直三个 \(log\) 不会做,最后才发现 \(cdq\) 根本不对也不用,浪费 \(1h\) 。
然后瞬间会做,整理一下思路想了想细节就 \(9:40\) 了,开码, \(11:30\) 调过两个样例,然后又想起来一个样例没有的 \(hack\) 。
补完就 \(11:40^+\) 了,然后找一眼能拿分的题, \(T1,T3\) 全都是什么最优策略,直接跳。
\(T4\) 打的时候这段是个数位 \(dp\) ,打完暴力就结束了,最后暴力换行空格写错,成功保龄。
然后只有 \(T2\) 有分,还有个地方大褂了,然后被 \(D\) 了。
发现开考一小时状态不是很好(似曾相识),极其容易被浪费掉。
所以开考适合找水题胡暴力适应状态(虽然不知道还会不会有 \(pj\) 题)。
似曾相识的 \(flag\) ,及其容易倒,但再倒就要被 \(D\) 惨了;)

浙公网安备 33010602011771号