ZROI普及五连测 10.11
ZROI普及五连测 10.11
涨了好多分,舒适.(但只有 \(250pts\) 很不开心,没写出来 \(D\).)
A.旋风回旋曲
要么直接走过去,要么走到一端再坐缆车去另一端.取\(min\)即可.
但我不是这么写的,我用了\(Floyd.\)
从 \(0\) 到 \(100\) 相邻的两个数字都建一条长度为 \(1\) 的边.
然后缆车的两端建一条长度为 \(0\) 的边.
跑 \(Floyd\) 输出 \(e_{x,y}\) 即可.
B.假面饭店
一开始一眼看完,以为是个 \(SB\) 的枚举子集.
然后发现,直接枚举行不通...还要全排列,会 \(TLE\).
于是考虑枚举题目要求的平方式中的平方根,这是 \(10^6\) 左右级别的.
然后再把这个平方根的平方拆位用桶记录,查询能否用原数的数字集合拼出即可.
复杂度的话 \(\Theta(T\times \sqrt{n} \times log_{10}{n})\)
C.疯狂外星人
咕咕咕...
D.流浪地球
第一眼看过去就觉得这题十分归程 \((NOI2018\: D1\: T1)\).
不过更简单一些.
把所有的询问和矩阵元素降序排序.
从大到小加入连通块并统计个数即可.
每新加入一个点就 \(++\) 连通块个数,扫描它的上下左右四连通方向,如果有一个连通块就 \(--\) 连通块个数,按照顺序输出即可.
May you return with a young heart after years of fighting.