python用归并后面超时
  • 板块P1908 逆序对
  • 楼主Happinessa
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/12/16 14:38
  • 上次更新2024/12/16 20:01:10
查看原帖
python用归并后面超时
465695
Happinessa楼主2024/12/16 14:38

各位大佬我写的有问题嘛

import sys

def MergeSort(data, l, r):
    if l >= r:
        return
    mid = l + r >> 1
    MergeSort(data, l, mid)
    MergeSort(data, mid + 1, r)
    global cnt
    t = []
    i, j = l, mid + 1
    while i <= mid and j <= r:
        if data[i] <= data[j]:
            t.append(data[i])
            i += 1
        else:
            t.append(data[j])
            cnt += mid - i + 1
            j += 1
    while i <= mid:
        t.append(data[i])
        i += 1
    while j <= r:
        t.append(data[j])
        j += 1
    data[l : l + len(t)] = t


n = int(sys.stdin.readline().strip("\n"))
# n, m = map(int, sys.stdin.readline().strip().split(" "))
a = list(map(int, sys.stdin.readline().strip("\n").split(" ")))
cnt = 0
MergeSort(a, 0, len(a) - 1)
print(cnt)
2024/12/16 14:38
加载中...