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)\).
不过更简单一些.
把所有的询问和矩阵元素降序排序.
从大到小加入连通块并统计个数即可.
每新加入一个点就 \(++\) 连通块个数,扫描它的上下左右四连通方向,如果有一个连通块就 \(--\) 连通块个数,按照顺序输出即可.

posted @ 2019-10-12 11:06  Phecda  阅读(166)  评论(0编辑  收藏  举报

Contact with me