#31264: python bisect 讓我不想學正統了


abcd950813 (H.)

學校 : 不指定學校
編號 : 194631
來源 : [140.112.24.233]
最後登入時間 :
2024-01-29 14:39:28
f607. 3. 切割費用 -- 2021年1月APCS | From: [42.73.88.54] | 發表日期 : 2022-07-20 19:24

用bisect :

    主要的程式碼 :

    bisect.insort_left(L_list, i[0])
    ans += L_list[bisect.bisect_left(L_list, i[0])+1] - \
        L_list[bisect.bisect_left(L_list, i[0])-1]
 
用正常binary search : 
      
    left = 0
    right = len(L_list)
    while left < right:
        mid = (left+right)//2  
        if L_list[mid] < i[0]:  
            left = mid + 1
        else:
            right = mid
    L_list.insert(left, i[0])
    ans += L_list[left+1] - L_list[left-1]
 
基礎還是比較重要啦, 再import array 取代list應該可以減時間
 
ZeroJudge Forum