那么只要经过 O(logn) 次 pi>1 的操作后,答案就只有 1 种可能了。
令全部 p=2,q=1,让他不断重构即可,显然 x>1 和 x≤1 的结果是不同的。
私以为思路还是可取的,毕竟值域大小即使不缩到 1 也能缩到 2。
附数据生成器(Python)
import sys
from random import *
hack = "hack.in"
sys.stdout = open(hack, "w", encoding="utf-8")
N = int(1e5)
M = int(2e5)
K = 1000
P = [2] * N
Q = [1] * N
print(N, M)
print(*P)
print(*Q)
for i in range(M):
if i & 1:
print(f"q {randint(1, 2)} 1 {N}")
else:
print(f"m {randint(1, N)} 2 1")
sys.stdout.close()
可以的话希望将这种数据加到题目里。