20ZR暑期联赛班 Day4

shiki


一血。
序列自动机 + dp。

pokemon

给定一个迷宫,任意两个位置都只有一条简单路径。你只能沿着右手的墙壁走。给出多组询问,每组询问求从起点到终点,初始面朝方向为 上/下/左/右 需要走多少步,改变方向不计入步数。

任意两点只有一条简单路径,找规律发现,从随便哪个点随便哪个方向出发,一直走下去,都会形成一个环。

20ZR暑期联赛班 Day4_第1张图片
所以随便找个点预处理四个方向就完了。

20ZR暑期联赛班 Day4_第2张图片

Code

matrix

有点像逛公园的套路。

求一个矩阵上,最长的等比可重路径,满足公比为整数。无限长回答 − 1 -1 1

其实 − 1 -1 1 可以特判,只要有相邻的两个比为 1 1 1 的就直接特判掉。

然后是个分层图了 + DAG 最长路。

但是标算是暴力 /jk。

其实就是枚举一个点,看它的上下左右,哪个能够成公比,然后构成的直接 bfs。看上去是 O ( n 2 m 2 ) O(n^2m^2) O(n2m2),但其实最长路径的点数是 log ⁡ \log log 级别的,所以能过。

你可能感兴趣的:(20ZR暑期联赛班 Day4)