E
先考虑每行个数相同的情形,只需
O
(
n
)
O(\sqrt n)
O(n)扫一遍因子
再考虑类似美国国旗的情形,也就是一行个数为
x
x
x,一行为
x
+
1
x+1
x+1,依次排下去
对于这种情形,可以将每行的个数视作
x
+
0.5
x+0.5
x+0.5,行数不变,那么最后与
n
n
n误差不超过
0.5
0.5
0.5
所以我们分别对
n
∗
10
+
5
n*10+5
n∗10+5,
n
∗
10
n*10
n∗10,
n
∗
10
−
5
n*10-5
n∗10−5质因数分解,并将其分拆成个位数为
5
5
5的因子
p
p
p与因子
q
q
q的乘积,并用
a
b
s
(
p
d
i
v
10
+
1
−
q
)
abs(p~ div ~ 10+1-q)
abs(p div 10+1−q)更新答案
时间复杂度
O
(
n
)
O(\sqrt n)
O(n)
K
签到题
答案即为min(a+1,b)
L
用线段树维护每个位置的xy坐标,支持区间交换xy坐标,区间加即可