python是不是不能ac啊?
查看原帖
python是不是不能ac啊?
1264292
Thelemon123楼主2024/3/7 19:56

2,9,10TLE

def lowbit(x):
    return x & (-x)
def init(x):
    i=x
    t=lowbit(x)
    while t>0:
        tree[i]+=diff_a[x]
        x-=1
        t-=1
def updata(x,y,k):
    #diff(x)+k  diff(y+1)-k
    while x<=n:
        tree[x]+=k
        x+=lowbit(x)
    y+=1
    while y<=n:
        tree[y]-=k
        y+=lowbit(y)
def query(x):
    ans=0
    while x>0:
        ans+=tree[x]
        x-=lowbit(x)
    return ans
n,m=map(int,input().split())
a=[0]+list(map(int,input().split()))
diff_a=[0 for i in range(n+1)]
#sum(diff_a)=a[]
for i in range(1,n+1):
    diff_a[i]=a[i]-a[i-1]
tree=[0 for i in range(0,n+1)]
for i in range(1,n+1):
    init(i)
for i in range(m):
    data=list(map(int,input().split()))
    if len(data)==4:
        updata(data[1],data[2],data[3])
    else:
        print(query(data[1]))
2024/3/7 19:56
加载中...