acwing藍橋杯c AB組)2 1 二分

2022-10-07 00:15:23 字數 1557 閱讀 4039

實數二分核心思想:

三分法思想:

難點:二分的邊界問題

確定乙個區間,使得目標值一定在區間中。

找乙個性質滿足:(對於百分之95的二分擁有這個性質)

對於整數二分我們分為兩類

有的小夥伴就要問了:為什麼是分成2類而不是1類3類呢?

答:我們來看這麼一種情況

對於一組序列如下:要求找到值為5的第乙個數和最後乙個數,返回對應下標。值3

4555

810陣列下標01

2345

6不難發現我們需要兩個模板,使得乙個板子二分結果為2,乙個板子二分結果為4。

**如下:

bool

check

(int x)

// 檢查x是否滿足某種性質

// 區間[l, r]被劃分成[l, mid]和[mid + 1, r]時使用:

intbsearch_1

(int l,

int r)

return l;

}// 區間[l, r]被劃分成[l, mid - 1]和[mid, r]時使用:

intbsearch_2

(int l,

int r)

return l;

}

找乙個區間[l,r],使得答案一定在該區間中。

找乙個判斷條件,使得該判斷條件具有二段性,並且答案一定是該二段性的分界點。

分析終點m在在該判斷條件下是否成立,如果成立,考慮答案在哪個區間。

如果更新方式寫的是r=mid,則不用做任何處理;如果更新方式寫的是l=mid,則需要再計算mid時加上1。

題目鏈結

789. 數的範圍 - acwing題庫

下面是本節課總的題單,涉及字首和等可以先不看跳過。

實數二分相對於整數比較簡單,因為中點是基本可以取到的,沒有整數一會加1,一會減去1這麼繞。

加一減一無需考慮,可以說是非常簡單了(滑稽,第一遍寫還是wa了)。只需注意浮點數精度丟失問題,取誤差在1e-8即可。

題目鏈結

790. 數的三次方根 - acwing題庫

用的不多,這裡簡單提一下。

對於下圖的函式,我們為了找值可以採取對斜率二分(求導即可)。或者,採取下圖的三分法,當重複多次後,l與r無線逼近即可。

acwing藍橋杯c AB組)1 1 遞迴

整理自acwing y總課程藍橋杯c ab組輔導課 試聽課 嗶哩嗶哩 bilibili 題目描述 抽象出資料型別 dfs,圖論,dp,貪心等 遞迴引入 自己呼叫自己 列如斐波那契數列1,2,3,5,8,13 include include using namespace std intf int n...

第四屆藍橋杯省賽C A B組 高斯日記

大數學家高斯有個好習慣 無論如何都要記日記。他的日記有個與眾不同的地方,他從不註明年月日,而是用乙個整數代替,比如 4210 高斯出生於 1777年4月30日。在高斯發現的乙個重要定理的日記上標註著 5343,因此可算出那天是 1791年12月15日。高斯獲得博士學位的那天日記上標著 8113 請你...

分巧克力 (第八屆藍橋杯省賽C A B組)

兒童節那天有 k 位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友們。小明一共有 n 塊巧克力,其中第 i 塊是 hi wi 的方格組成的長方形。為了公平起見,小明需要從這 n 塊巧克力中切出 k 塊巧克力分給小朋友們。切出的巧克力需要滿足 形狀是正方形,邊長是整數 大小相同 例如一塊 6 5...