为什么我提交上去后TLE一大堆
def readline(*number):
if not number:
number = [0]
number = list(number)
inp = input().split()
rtn = []
for index,i in enumerate(inp):
if index == number[0] - 1:
rtn.append(int(i))
number.pop(0)
else:
rtn.append(i)
if len(rtn) == 1:
return rtn[0]
return rtn
def spt(l, r):
lst = (1 << r) - 1 & num
mid = (1 << l - r + 1) - 1 & (num >> r)
fst = num >> l + 1
return fst, mid, lst
def join(fst, mid, lst, l, r):
return (fst << l + 1) | (mid << r) | lst
def chg(l,r):
global num
fst, mid, lst = spt(l, r)
num = join(fst, mid ^ (1 << l - r + 1) - 1, lst, l, r)
def i2b(nu):
c = 0
while nu:
c += 1
nu &= nu - 1
return c
def prt(l, r):
_, mid, _ = spt(l, r)
print(i2b(mid))
n, m = readline(1,2)
num = 0
for _ in range(m):
op, l, r = readline(1, 2, 3)
l = n - l + 1
r = n - r + 1
if op:
prt(l,r)
else:
chg(l,r)
