にぶんたんさく


この探求の核心は


2つの端点(lo,hi)のうちの1つは所定の条件を満たす値であり,もう1つは条件を満たさない値に設定され,loとhiの差がちょうど1になる前に二分探索を継続する.
はい.この方法では、可能な値に境界値を見つけることができます.ここで、境界値は、通常、問題で探している最低価格または最高価格を意味します.

コード実装


私は主に以下のコードを用いて二分探索アルゴリズムを解く.言語はPythonを使用しています.
lo = 	# 확실하게 주어진 조건을 만족시키는 경우의 값
hi = 	# 확실하게 주어진 조건을 만족시키지 못하는 경우의 값

while lo + 1 < hi: 	# lo와 hi의 차이가 정확히 1이 될 때까지 반복
	mid = (lo + hi) // 2
	if:	# 가능했던 경우 
    	lo = mid	# lo에 mid를 대입한다
        else:	# 불가능했던 경우
        hi = mid 	# hi에 mid를 대입한다
print(lo) # 경계값을 대입받은 lo를 출력한다.
可能な場合hiであれば、lohiのキャラクターを変えることができ、最後のprintprint(hi)です.
通常、
最高価格
  • を探す場合は、hiが必要になる場合があります.
    最高価格の
  • を探すには、loが必要になる場合があります.

    参考になる文章


    https://blog.naver.com/kks227/220777333252