国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

藍橋杯備賽 day 2 —— 二分算法(C/C++,零基礎,配圖)

這篇具有很好參考價值的文章主要介紹了藍橋杯備賽 day 2 —— 二分算法(C/C++,零基礎,配圖)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

??前言:

?? 二分的概念

?? 整數(shù)二分

?? 二分的模板

?? 習題

?? 總結


??前言:

藍橋杯備賽 day 2 —— 二分算法(C/C++,零基礎,配圖),藍橋杯備賽指南,藍橋杯,算法,c語言,c++,數(shù)據(jù)結構,學習

????????這篇文章主要是準備藍橋杯競賽同學所寫,為你更好準備藍橋杯比賽涉及的算法知識點。不知道你是否苦惱于不知算法從何學起,苦惱于網(wǎng)上資料稀少,或者復雜難懂,這篇文章就是幫助這部分同學的。

? ? ? ? 下面整理了藍橋杯考點大綱:

???????????????藍橋杯考點大綱

??藍橋杯備賽 day 2 —— 二分算法(C/C++,零基礎,配圖),藍橋杯備賽指南,藍橋杯,算法,c語言,c++,數(shù)據(jù)結構,學習

? ? ? ? 通過上圖,我們知道二分在藍橋杯比賽中也是比較重要的,所以我們這里就單獨寫了一篇文章介紹,不僅是因為比較重要,而且二分算法對于剛接觸算法的人來說比較復雜,易錯點較多,需要不斷調試。

?? 二分的概念

? ? ? ? 二分,字面意思就是通過判斷是否滿足條件將區(qū)間分成兩份。通常的比如大于等于 或者? 小于等于.......

藍橋杯備賽 day 2 —— 二分算法(C/C++,零基礎,配圖),藍橋杯備賽指南,藍橋杯,算法,c語言,c++,數(shù)據(jù)結構,學習

?? 整數(shù)二分

? ? ? ? 對于整數(shù)二分,我們可以分成兩中類型 :

? ? ? ? 1. [L ,Mid - 1] 和 [Mid , R] :所求答案在Mid 右邊

? ? ? ? 2. [L , Mid ] 和 [Mid + 1 , R] :所求答案在Midz左邊

? ? ? ? 這兩種不同類型的區(qū)間,是由于判斷條件不同形成的。

?? 二分的模板

? ? ? ? 為了大家更好的做題,已經(jīng)比賽中更好的利用時間,這里提供了整數(shù)二分的模板,以及浮點數(shù)二分的模板。

1) 區(qū)間[L , R] 劃分成[L,Mid] 和 [Mid+1 , R]
bool check(int x)
{
    ...    //檢查x是否滿足某種條件
}
int bearch_1(int l,int r)
{
    while(l < r)
    {
        int mid = (l + r ) / 2;
        if(check(mid))
            r = mid;
        else
            l = mid + 1;
    }
    return 1;
}

2) 區(qū)間[L , R] 劃分成[L,Mid-1] 和 [Mid , R]
bool check(int x)
{
    ...    //檢查x是否滿足某種條件
}
int bearch_2(int l,int r)
{
    while(l < r)
    {
        int mid = (l + r + 1 ) / 2;
        if(check(mid))
            l = mid;
        else
            r = mid - 1;
    }
    return 1;
}

? ? ? ? 對于浮點數(shù)二分,并不需要關注+-1的問題,所以相對于整數(shù)二分來說,簡單一些。當然一般來說,對于浮點數(shù)二分,我們需要保證精確度在1e-6(1的-6次方)。

bool check((int x)
{
    ...    //檢查x是否滿足條件
}

int bearch_1(int l,int r)
{
    while(r - l > 1e-6 )
    {
        int mid = (l + r ) / 2;
        if(check(mid))
            r = mid;
        else
            l = mid ;
    }
    return 1;
}

?? 習題

1. 數(shù)的范圍?789. 數(shù)的范圍 - AcWing題庫

藍橋杯備賽 day 2 —— 二分算法(C/C++,零基礎,配圖),藍橋杯備賽指南,藍橋杯,算法,c語言,c++,數(shù)據(jù)結構,學習

藍橋杯備賽 day 2 —— 二分算法(C/C++,零基礎,配圖),藍橋杯備賽指南,藍橋杯,算法,c語言,c++,數(shù)據(jù)結構,學習

? ? ? ? 這道題其實就是一道非常經(jīng)典的二分題目,首先我們找出左邊第一次出現(xiàn)的x,再找出右邊第一次出現(xiàn)的x,如果沒有找到,則輸出-1 -1。

#include <iostream>
#include <cstdio>

using namespace std;

const int N = 100010;

int q[N];
int n,m;


int main()
{
    
    cin >> n>>m;
    for(int i=0;i<n;i++)
        cin>>q[i];
    
    while(m--)
    {
        int x;
        cin>>x;
        int l = 0;
        int r = n-1;
        while(l < r)
        {
            int mid = (l + r) >> 1;
            if(q[mid] >= x)
                r = mid;
            else
                l = mid + 1;
        }
        if(q[l] != x)
            printf("-1 -1\n");
        else
        {
            printf("%d ",l);
            r = n-1;
            while(l < r)
            {
                int mid = (l + r + 1) >> 1;
                if(q[mid] <= x)
                    l = mid;
                else
                    r = mid -1;
            }
            printf("%d\n",l);
        }
    }
    return 0;
}

2.數(shù)的三次方根?790. 數(shù)的三次方根 - AcWing題庫

藍橋杯備賽 day 2 —— 二分算法(C/C++,零基礎,配圖),藍橋杯備賽指南,藍橋杯,算法,c語言,c++,數(shù)據(jù)結構,學習

? ? ? ? 我們從數(shù)據(jù)范圍當做區(qū)間,通過二分找出浮點數(shù)n的三次方根。

#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
    double x ;
    cin >> x;
    double l = -10000,r =10000;
    while(r -l > 1e-8)
    {
        double m = (r + l) /2;
        if(m * m * m >= x)
            r = m;
        else
            l = m;
    }
    printf("%lf",l);
    return 0;
}

?? 總結

? ? 以上,我們就對二分在藍橋杯中的知識點進行了講解,并針對性的講解了例題,當然這也只是幫你更好的理解這些算法知識,想要學好算法,還需要不斷地刷題練習,這里推薦到洛谷,acwing等網(wǎng)站進行練習,比如你看完了這篇文章,做回了例題習題,就可以上這些網(wǎng)站進行想應的練習。

藍橋杯備賽 day 2 —— 二分算法(C/C++,零基礎,配圖),藍橋杯備賽指南,藍橋杯,算法,c語言,c++,數(shù)據(jù)結構,學習文章來源地址http://www.zghlxwxcb.cn/news/detail-799784.html

到了這里,關于藍橋杯備賽 day 2 —— 二分算法(C/C++,零基礎,配圖)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 藍橋杯備賽 | 洛谷做題打卡day2

    藍橋杯備賽 | 洛谷做題打卡day2

    ? 題目來源:洛谷P2670 [NOIP2015 普及組] 掃雷游戲 NOIP2015 普及組 T2 掃雷游戲是一款十分經(jīng)典的單機小游戲。在 n n n 行 m m m 列的雷區(qū)中有一些格子含有地雷(稱之為地雷格),其他格子不含地雷(稱之為非地雷格)。玩家翻開一個非地雷格時,該格將會出現(xiàn)一個數(shù)字——提示

    2024年01月16日
    瀏覽(58)
  • 藍橋杯備賽 | 洛谷做題打卡day5

    藍橋杯備賽 | 洛谷做題打卡day5

    題目描述 小 K 喜歡翻看洛谷博客獲取知識。每篇文章可能會有若干個(也有可能沒有)參考文獻的鏈接指向別的博客文章。小 K 求知欲旺盛,如果他看了某篇文章,那么他一定會去看這篇文章的參考文獻(如果他之前已經(jīng)看過這篇參考文獻的話就不用再看它了)。 假設洛谷

    2024年01月17日
    瀏覽(34)
  • 藍橋杯備賽 | 洛谷做題打卡day4

    藍橋杯備賽 | 洛谷做題打卡day4

    高精度加法,相當于 a+b problem, 不用考慮負數(shù) 。 分兩行輸入。 a , b ≤ 1 0 500 a,b leq 10^{500} a , b ≤ 1 0 500 。 輸出只有一行,代表 a + b a+b a + b 的值。 樣例輸入 #1 樣例輸出 #1 樣例輸入 #2 樣例輸出 #2 學會利用新知,自己多試試并嘗試積攢一些固定解答方案,debug,以下是我的

    2024年01月17日
    瀏覽(23)
  • 【藍橋杯備賽Java組】語言基礎|競賽常用庫函數(shù)|輸入輸出|String的使用|常見的數(shù)學方法|大小寫轉換

    【藍橋杯備賽Java組】語言基礎|競賽常用庫函數(shù)|輸入輸出|String的使用|常見的數(shù)學方法|大小寫轉換

    ???個人主頁:深魚~ ??收錄專欄:藍橋杯 ??歡迎 ??點贊?評論?收藏 目錄 一、編程基礎 1.1 Java類的創(chuàng)建 ?1.2 Java方法 ?1.3 輸入輸出 ?1.4 String的使用 二、競賽常用庫函數(shù) 1.常見的數(shù)學方法 2.大小寫轉換 前些天發(fā)現(xiàn)了一個巨牛的人工智能學習網(wǎng)站,通俗易懂,風趣幽默,

    2024年01月21日
    瀏覽(89)
  • 【藍橋杯備賽Java組】第一章·語言基礎|競賽常用庫函數(shù)|輸入輸出|String的使用|常見的數(shù)學方法|大小寫轉換

    【藍橋杯備賽Java組】第一章·語言基礎|競賽常用庫函數(shù)|輸入輸出|String的使用|常見的數(shù)學方法|大小寫轉換

    ???個人主頁:深魚~ ??收錄專欄:藍橋杯 ??歡迎 ??點贊?評論?收藏 目錄 一、編程基礎 1.1 Java類的創(chuàng)建 ?1.2 Java方法 ?1.3 輸入輸出 ?1.4 String的使用 二、競賽常用庫函數(shù) 1.常見的數(shù)學方法 2.大小寫轉換 前些天發(fā)現(xiàn)了一個巨牛的人工智能學習網(wǎng)站,通俗易懂,風趣幽默,

    2024年01月19日
    瀏覽(98)
  • 藍橋杯備賽|成績統(tǒng)計|排列字母|紙張尺寸

    藍橋杯備賽|成績統(tǒng)計|排列字母|紙張尺寸

    目錄 ? 1 成績統(tǒng)計 題目描述 輸入描述 輸出描述 輸入輸出樣例 示例 1.1 解題思路 1.2 AC_Code Python 標程 2 排列字母 問題描述 2.1 解題思路 2.2?AC_Code Python 標程 3 紙張尺寸 問題描述 輸入格式 輸出格式 樣例輸入1 樣例輸出1 樣例輸入 2 樣例輸出 2 運行限制 3.1 解題思路 3.2 AC_Code P

    2023年04月09日
    瀏覽(22)
  • 【AcWing】藍橋杯備賽-深度優(yōu)先搜索-dfs(1)

    【AcWing】藍橋杯備賽-深度優(yōu)先搜索-dfs(1)

    目錄 寫在前面: 題目:92. 遞歸實現(xiàn)指數(shù)型枚舉 - AcWing題庫 讀題: 輸入格式: 輸出格式: 數(shù)據(jù)范圍: 輸入樣例: 輸出樣例: 解題思路: 代碼: AC ?。。。。。。。。。?寫在最后: 距離藍橋杯已經(jīng)不足一個月了, 根據(jù)江湖上的傳言, 藍橋杯最喜歡考的是深度優(yōu)先搜索和

    2024年02月03日
    瀏覽(24)
  • 藍橋杯備賽之動態(tài)規(guī)劃篇——涂色問題(區(qū)間DP)

    藍橋杯備賽之動態(tài)規(guī)劃篇——涂色問題(區(qū)間DP)

    2023第十四屆藍橋杯模擬賽第二期個人題解(Java實現(xiàn)) 2023第十四屆藍橋杯模擬賽第三期個人題解(Java實現(xiàn)) 藍橋杯備賽之動態(tài)規(guī)劃篇——背包問題 藍橋杯真題——單詞分析(Java實現(xiàn)) ???? 哈嘍,大家好!這里是藍橋杯系列文章的動態(tài)規(guī)劃章節(jié)????,今天要講解的是區(qū)

    2024年01月23日
    瀏覽(25)
  • 藍橋杯賽前自救攻略,備賽抱佛腳指南

    藍橋杯賽前自救攻略,備賽抱佛腳指南

    明天就要開始藍橋杯了,然鵝還什么都沒準備,就挺禿然的,涼涼但是還是要抱一下佛腳。這里分享一下上屆藍橋杯C++組混子選手的賽前自救筆記!以下是chatGPT的回答 藍橋杯是國內最具影響力的計算機比賽之一,參賽選手要面對各種難度的編程題目。以下是藍橋杯比賽前一

    2024年02月02日
    瀏覽(14)
  • 藍橋杯青少C++省賽備賽指南和真題詳解

    藍橋杯青少C++省賽備賽指南和真題詳解

    藍橋杯大賽是工業(yè)和信息化部人才交流中心舉辦的全國性專業(yè)信息技術賽事,已經(jīng)成功舉辦了13屆,歷時14年。藍橋杯大賽首席專家倪光南院士說:“藍橋杯以考促學,塑造了領跑全國的人才培養(yǎng)選拔模式,并獲得了行業(yè)的深度認可?!?隨著藍橋杯加入國家白名單賽事,含金

    2024年02月04日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包