对分块题解的 Hack
查看原帖
对分块题解的 Hack
818693
weilycoder楼主2024/10/11 08:30

那么只要经过 O(logn)O(logn)pi>1p_i>1 的操作后,答案就只有 11 种可能了。

令全部 p=2,q=1p=2,q=1,让他不断重构即可,显然 x>1x>1x1x\le 1 的结果是不同的。

私以为思路还是可取的,毕竟值域大小即使不缩到 11 也能缩到 22

附数据生成器(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()

可以的话希望将这种数据加到题目里。

2024/10/11 08:30
加载中...