にぶんたんさく


Binary search


位置合わせ要素の中間値に基づいて、検索する値とサイズを比較し、ナビゲーション区間を調整し、ターゲットに再ナビゲートします.
def binary_search(arr, target, start, end):
    while start <= end:
        mid = (start + end) // 2
        if arr[mid] == target:
            return mid
        elif arr[mid] > target:
            end = mid - 1
        else:
            start = mid + 1
    return None

n, target = list(map(int, input().split()))

arr = list(map(int, input().split()))

result = binary_search(arr, target, 0, n-1)
if result == None:
    print('원소없음')
else:
    print(result + 1)

パラメトリックサーチ


2点を適用して最高価格または最低価格を検索するテクニック
パラメータ検索は、最適化された問題を決定問題(YesまたはNo)に変換して解決する方法です.
例:特定の条件を満たす最適値の最適化の問題をすばやく検索
一般に,符号化試験ではパラメータ探索問題はバイナリ探索により解決できる.
https://youtu.be/Rr5gMFm588M

たいぶんこ


この探索を簡潔に体現できるライブラリです.
対分()とinsort()が主な機能のようです.

たいぶんかんすう

import bisect

result = bisect.bisect([10,20,30,40],int(input()))

print(result)
입력
35

출력
3
スコアリング・ライブラリ内のスコアリング・メソッドには、ソート・リストと整数を受け入れます.
入力した整数は、リストにソート可能なインデックスを返します.
使いやすい問題https://www.acmicpc.net/problem/19637

insort関数

import bisect

a = [10,20,30,40]
bisect.insort(a,int(input()))

print(a)
입력
25

출력
[10,20,25,30,40]
ソートリストと整数を入力するとinsort関数が表示されます.
入力した整数をリストのソート位置に追加します.
条件に応じて、対分left()またはinsort left()を使用します.
リファレンスサイト