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 imes sqrt{n} imes log_{10}{n}))

C.疯狂外星人

咕咕咕...

D.流浪地球

第一眼看过去就觉得这题十分归程 ((NOI2018: D1: T1)).
不过更简单一些.
把所有的询问和矩阵元素降序排序.
从大到小加入连通块并统计个数即可.
每新加入一个点就 (++) 连通块个数,扫描它的上下左右四连通方向,如果有一个连通块就 (--) 连通块个数,按照顺序输出即可.

原文地址:https://www.cnblogs.com/Equinox-Flower/p/11660324.html