就是上面那个图,边长
2
k
×
2
k
2^k\times 2^k
2k×2k的矩形是由边长为
2
k
−
1
×
2
k
−
1
2^{k-1}\times 2^{k-1}
2k−1×2k−1旋转阔者平移然后拼接而来,每个图从左上角进入,右上角出去,从入口进去一次访问给定的一些节点,问访问顺序
题解
之所以给这题的
t
a
g
tag
tag是思维因为如果直接蛮写【记录入口出口分8种情况玩大模拟,队友就是这么干的】也是可以过的,但是可以简便一点做,赛后简单推了一下,首先显然可以求出每个点的时间戳,排序输出就行了,求时间戳的时候,讨论
[
x
,
y
]
[x,y]
[x,y]在当前正方形的哪一块【分四块】然后这一小块其实与前一大块是相同大小的【前一大块就是指当前这一大块的直接来源】,然后考虑怎么把这个坐标映射到前一大块,然后就能求解更小的问题了,显然做个对称点就行了
需要一点简单的高中知识:点
[
x
0
,
y
0
]
[x_0,y_0]
[x0,y0],关于
y
=
−
x
+
b
y=-x+b
y=−x+b的对称点为
[
b
−
y
0
,
b
−
x
0
]
[b-y_0,b-x_0]
[b−y0,b−x0],关于
y
=
x
+
b
y=x+b
y=x+b的对称点为
[
y
0
−
b
,
x
0
+
b
]
[y_0-b,x_0+b]
[y0−b,x0+b]