20201201 训练(

刚做完 T1 以为怎的,hb 天天给这些高一高二做这些水题?然后才发现后面都是神题(

ABC127F - Absolute Minima

刚看完题还想着用 geogebra 放几个 \(a\) 上去看函数长啥样。然后画完才发现脑抽了……这不就是昨天做的那个 APIO2015 那题吗?

发现 \(b\) 的影响单独算,任意时刻设 \(a\) 的序列为 \(A\),那么 \(f(i)=\sum |x-A_i|\),那不就是取 \(A\) 的中位数吗?两个 set 维护一下就好了。

上帝不要惩罚我做水题/kk

CF201D - Brand New Problem

题解

CF93C - Azembler

这题我一年前做过,然而现在还记得……这是个远古题,不知道现在 0202 年还考不考 IDDFS 了……

注意到对于任意 \(n\),都可以找到 \(7\) 步的方法:每次 \(\times2\),看当前二进制位考虑要不要 \(+1\),每次存到新盘里。也就是说答案很小。

还发现,每次一定是要存到新盘里的。于是我们可以爆搜,这个求最小步数当然 BFS 了,一次可能伸出去最多 \(256\) 条边,但是这个非常不满,而且最大步数也不一定有 \(7\),于是很有希望。

但是 BFS 唯一的缺陷在于不能方便的记录状态。于是这里有一个迭代加深(IDDFS)的小 trick:从小到大枚举答案,然后 DFS,过程中限制一下最大深度,就是伸到当前答案这么深就不允许往下了。这样就完美解决了状态不方便记录的问题,而且不难证明这和理想 BFS 的复杂度是一样的,因为复杂度随深度指数增长,前面那些加起来还没有最后一次多,故可忽略。

code(真就看心情给代码呗)

CF986E - Prince's Problem

hot tea,题解

posted @ 2020-12-01 23:33  ycx060617  阅读(103)  评论(2编辑  收藏  举报