题解:P10760 [BalticOI 2024] Portal
FstAutoMaton · · 题解
[BalticOI 2024] Portal
先考虑一维的怎么做。稍微思考一下就可以发现由于以每个点作为坐标轴原点时的染色要相同,所以染色方案一定是将一个颜色序列作为循环节循环,循环节长度必须是所有相邻两个位置的差的因数,所以直接取最大公因数。时间复杂度是
考虑拓展到二维。由于题目中对合法方案的 check 相当于是将平面直角坐标系的原点平移后与原坐标系完全重合,所以可以直接先选择一个点作为原点。即设点序列为
结论:对于任意三个整数
证明的话好像所有能搜到的题解都说显然,我也不太清楚,就讲个大概思路吧。
由于原点已经是一个给定的点,根据题目限制从原点沿一个方向走若干步和从另一个点沿同样方向走同样步到达的点颜色相同。而根据前面一维的做法最优方法中循环的矩阵不会出现两种颜色,所以
例如下面这张图,点 A 和点 B 实际是等价的。
接着考虑根据这个性质将题目简化,将二维的问题根据这个结论变成一维。注意到