python3 24分,有救么???
查看原帖
python3 24分,有救么???
493638
隐公元年楼主2022/7/23 03:15
from functools import *
from sys import setrecursionlimit, getsizeof
from math import log2

n, m = map(int, input().split())

li = list(map(int, input().split()))
logN = int(log2(n))
dp = [[0 for i in range(logN + 1)] for j in range(n)]
for i in range(n):
    dp[i][0] = li[i]

for j in range(1, logN + 1):
    for i in range(n):
        if i + 2 ** (j - 1) < n:
            dp[i][j] = max(dp[i][j - 1], dp[i + 2 ** (j - 1)][j - 1])
        else:
            dp[i][j] = dp[i][j - 1]

# [[9, 9, 9, 9], [3, 3, 7, 8], [1, 7, 7, 8], [7, 7, 7, 8], [5, 6, 8, 8], [6, 6, 8, 8], [0, 8, 8, 8], [8, 8, 8, 8]]
for i in range(m):
    l, r = map(int, input().split())
    l, r = l - 1, r - 1
    s = int(log2(r - l + 1))
    print(max(dp[l][s], dp[r - (2 ** s) + 1][s]))

唉,困炸了,这应该是python自己的原因了吧?

2022/7/23 03:15
加载中...