二分的簡單運用

2021-10-01 18:02:28 字數 717 閱讀 3884

真實傷害

timelimit:1000ms memorylimit:128mb64-bit integer io format:%lld

problem description一天rb在打黑魂,但是他對手非常強大,rb打不過,這時rushb過來開啟了乙個神奇的軟體,螢幕上出現了乙個數字,rushb告訴rb只要你能夠在0.1s內給出離這個數字最近的平方數,那麼你就能對這個怪物造成這個平方數的傷害,但是rb急著打遊戲沒空寫,所以需要你幫忙找出這個平方數,並告訴rb。(平方數:x*x=p,p就是平方數)

input多組輸入每組輸入乙個正整數n1≤n≤109output每組輸入對應乙個輸出

sample

input

3

510

sampleoutput

4

49

要求0.1 秒得出答案,直接搜尋超時,選擇二分

#include

using

namespace std;

intmain()

while

(scanf

("%d"

,&n)

!=eof

)int x=a[left]

-n;int y=n-a[left-1]

;if(x>=y)

else

}}

二分答案 佇列的運用

序列 sequence 題目背景 在人類智慧型的山巔,有著一台字長為 1048576 位的超級計算機,著名理 論計算機科學家 pb 博士正用它進行各種研究。不幸的是,這天颱風切斷了電 力系統,超級計算機無法工作,而 pb 博士明天就要交實驗結果了,只好求助 於學過 oi 的你 題目描述 pb 博士將...

二分搜尋 二分法及運用

二分法查詢 通過不斷縮小解存在的範圍,在有序陣列中查詢特定元素的搜尋演算法。經常可見 二分法 與其他演算法結合的題目 1 首先,從陣列的中間開始搜尋,如果該位置的值剛好是目標,則表示找到,結束搜尋。2 如果第一步的搜尋到的值大於目標,則把陣列分成兩半,在陣列右邊區域查詢,然後重複步驟 1 的操作。如...

如何運用二分查詢演算法

875.愛吃香蕉的珂珂 1011.在d天內送達包裹的能力 二分查詢到底有能運用在 最常見的就是教科書上的例子,在有序陣列中搜尋給定的某個目標值的索引。再推廣一點,如果目標值存在重複,修改版的二分查詢可以返回目標值的左側邊界索引或者右側邊界索引。ps 以上提到的三種二分查詢演算法形式在前文 二分查詢詳...