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

第十四屆藍橋杯編程題部分代碼題解

這篇具有很好參考價值的文章主要介紹了第十四屆藍橋杯編程題部分代碼題解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

C. 冶煉金屬

最大值就是取 a / b a / b a/b 的最小值,最小值就是二分找到滿足 m i d ? ( b i + 1 ) ≥ a i mid * (b_i + 1) ≥ a_i mid?(bi?+1)ai? 的最小值

#include<bits/stdc++.h>
#define int long long
#define x first
#define y second
using namespace std;

void solve()
{
    int n;
    cin >> n;
    vector<pair<int, int>> a(n);
    for (int i = 0; i < n; i++) cin >> a[i].x >> a[i].y;
    int l = 0, r = 1e9;
    auto check = [&](int mid)
    {
        for (int i = 0; i < n; i++)
            if (mid * (a[i].y + 1) <= a[i].x) return false;
        return true;
    };
    while (l < r)
    {
        int mid = l + r >> 1;
        if (check(mid)) r = mid;
        else l = mid + 1;
    }
    cout << l << ' ';
    int minn = 1e9;
    for (int i = 0; i < n; i++)
        minn = min(minn, a[i].x / a[i].y);
    cout << minn << '\n';
}

signed main()
{
    // freopen("Sample.in", "r", stdin);
    ios::sync_with_stdio(false);
    cin.tie(0);
    int T = 1;
    // cin >> T;
    while (T--) solve();
    // cout << "Time:" << (double)clock() / 1000 << '\n';
    return 0;
}

D. 飛機降落

全排列枚舉所有降落方案,然后判斷即可

#include<bits/stdc++.h>
#define int long long
#define x first
#define y second
using namespace std;

void solve()
{
    int n;
    cin >> n;
    vector<int> t(n + 10), d(n + 10), l(n + 10);
    for (int i = 0; i < n; i++) cin >> t[i] >> d[i] >> l[i];
    vector<int> p(n);
    for (int i = 0; i < n; i++) p[i] = i;
    do {
        int tt = 0;
        bool flag = true;
        for (int i = 0; i < n; i++)
        {
            int x = p[i];
            if (tt > t[x] + d[x])
            {
                flag = false;
                break;
            }
            tt = max(tt, t[x]);
            tt += l[x];
        }
        if (flag) 
        {
            cout << "YES" << '\n';
            return;
        }
    } while (next_permutation(p.begin(), p.end()));
    cout << "NO" << '\n';
}

signed main()
{
    // freopen("Sample.in", "r", stdin);
    ios::sync_with_stdio(false);
    cin.tie(0);
    int T = 1;
    cin >> T;
    while (T--) solve();
    // cout << "Time:" << (double)clock() / 1000 << '\n';
    return 0;
}

E. 接龍數(shù)列

狀態(tài)定義: f [ i , j ] f[i, j] f[i,j] 為前 i i i 個數(shù),以 j j j 結(jié)尾的最長合法子序列,答案就是 n ? m a x n - max n?max

#include<bits/stdc++.h>
#define int long long
#define x first
#define y second
using namespace std;

void solve()
{
    int n;
    cin >> n;
    map<int, int> mp;
    vector<int> a(n);
    vector<pair<int, int>> b(n);
    for (int i = 0; i < n; i++) cin >> a[i];
    for (int i = 0; i < n; i++)
    {
        b[i].y = a[i] % 10;
        int x = a[i];
        while (x >= 10) x /= 10;
        b[i].x = x;
    }
    int ans = 0;
    for (int i = 0; i < n; i++)
    {
        int x = mp[b[i].x];
        mp[b[i].y] = max(mp[b[i].y], x + 1);
        ans = max(ans, mp[b[i].y]);
    }
    cout << n - ans << '\n';
}

signed main()
{
    // freopen("Sample.in", "r", stdin);
    ios::sync_with_stdio(false);
    cin.tie(0);
    int T = 1;
    // cin >> T;
    while (T--) solve();
    // cout << "Time:" << (double)clock() / 1000 << '\n';
    return 0;
}

F. 島嶼個數(shù)

考場上沒什么思路,隨便寫了個Flood Fill就潤了

G. 字串簡寫

處理 b b b 的前綴和,然后掃一遍即可

#include<bits/stdc++.h>
#define int long long
#define x first
#define y second
using namespace std;

void solve()
{
    int k;
    cin >> k;
    string s;
    char a, b;
    cin >> s >> a >> b;
    int n = s.size();
    s = " " + s;
    vector<int> B(n + 10);
    for (int i = 1; i <= n; i++)
        if (s[i] == b) B[i] ++;
    for (int i = 1; i <= n; i++) B[i] += B[i - 1];
    int ans = 0;
    for (int i = 1; i <= n; i++)
    {
        if (s[i] == a)
        {
            if (i + k - 1 > n) continue;
            ans += B[n] - B[i + k - 2];
        }
    }
    cout << ans << '\n';
}

signed main()
{
    // freopen("Sample.in", "r", stdin);
    ios::sync_with_stdio(false);
    cin.tie(0);
    int T = 1;
    // cin >> T;
    while (T--) solve();
    // cout << "Time:" << (double)clock() / 1000 << '\n';
    return 0;
}

H. 整數(shù)刪除

首先初始化下每個數(shù)的前驅(qū)和后繼

開一個小根堆,把所有數(shù)的大小和位置都放進去

每次循環(huán),拿到數(shù)組中最小的數(shù),標記上位置,然后操作它和它的前驅(qū)后繼

但是可能拿到的數(shù),已經(jīng)被改變過了,所以我們需要開一個 m a p map map ,記錄下每個位置被改變過多少次

最后把沒有被標記的數(shù)輸出即可

#include<bits/stdc++.h>
#define int long long
#define x first
#define y second
using namespace std;

void solve()
{
    int n, k;
    cin >> n >> k;
    vector<int> a(n + 10);
    for (int i = 1; i <= n; i++) cin >> a[i];
    vector<pair<int, int>> b(n + 10);
    for (int i = 1; i <= n; i++) b[i] = {i - 1, i + 1};
    priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> heap;
    for (int i = 1; i <= n; i++) heap.push({a[i], i});
    map<int, int> mp;
    vector<bool> st(n + 10);
    for (int i = 0; i < k; i++)
    {
        while (mp[heap.top().y])
        {
            mp[heap.top().y] --;
            heap.pop();
        }
        auto t = heap.top();
        heap.pop();
        st[t.y] = true;
        int l = b[t.y].x, r = b[t.y].y;
        b[l].y = r, b[r].x = l;
        a[l] += t.x, a[r] += t.x;
        mp[l] ++, mp[r] ++;
        if (l) heap.push({a[l], l});
        if (r <= n) heap.push({a[r], r});
    }
    for (int i = 1; i <= n; i++)
        if (!st[i]) cout << a[i] << ' ';
}

signed main()
{
    // freopen("Sample.in", "r", stdin);
    ios::sync_with_stdio(false);
    cin.tie(0);
    int T = 1;
    // cin >> T;
    while (T--) solve();
    // cout << "Time:" << (double)clock() / 1000 << '\n';
    return 0;
}

寫在最后

剩下兩題都是LCA好像,不太會,導(dǎo)游暴力Floyd騙分,最后一題沒讀完題,輸出樣例后就選擇去檢查了,上述幾題都過了民間數(shù)據(jù)了,應(yīng)該問題不大,很好啊,好像省一穩(wěn)了?噢,原來有人賽時沒開long long沒關(guān)同步流啊,為什么沒呢?很簡單啊,怕過不了編譯,然后就真忘了,我是傻逼文章來源地址http://www.zghlxwxcb.cn/news/detail-410422.html

到了這里,關(guān)于第十四屆藍橋杯編程題部分代碼題解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 第十四屆藍橋杯C++--A組題解(更新中)

    第十四屆藍橋杯C++--A組題解(更新中)

    本來考場上做完想著這回圖一樂,打打暴力混個省獎得了,看完民間題解感覺跟自己估計的差不多,應(yīng)該挺寄的,沒想到出分撿了個省一,喜提弱省省一倒數(shù) 這篇博客把自己會的題先放上來,其他的題慢慢補,好多知識點都沒碰到過。。、 至于為什么一個月前的比賽現(xiàn)在才

    2024年02月04日
    瀏覽(23)
  • 第十四屆藍橋杯省賽C++ B組(個人經(jīng)歷 + 題解)

    第十四屆藍橋杯省賽C++ B組(個人經(jīng)歷 + 題解)

    這是我第一次參加藍橋杯的省賽,雖然沒什么參賽經(jīng)驗,但是自己做了很多前幾屆藍橋杯的題,不得不說,這一屆藍橋杯省賽的難度相較于之前而言還是比較大的。之前很流行藍橋杯就是暴力杯的說法,但是隨著參賽人數(shù)的增多,比賽認可度的提升,比賽題目的質(zhì)量也明顯越

    2024年02月03日
    瀏覽(36)
  • 第十四屆藍橋杯省賽c/c++大學(xué)B組題解

    第十四屆藍橋杯省賽c/c++大學(xué)B組題解

    個人答案,有錯漏感謝指正哈 本題總分:5 分 【問題描述】 ??小藍現(xiàn)在有一個長度為 100 的數(shù)組,數(shù)組中的每個元素的值都在 0 到 9 的范圍之內(nèi)。數(shù)組中的元素從左至右如下所示: 5 6 8 6 9 1 6 1 2 4 9 1 9 8 2 3 6 4 7 7 5 9 5 0 3 8 7 5 8 1 5 8 6 1 8 3 0 3 7 9 2 7 0 5 8 8 5 7 0 9 9 1 9 4 4 6 8 6 3

    2023年04月12日
    瀏覽(24)
  • 2023第十四屆藍橋杯C/C++B組省賽題解

    題目描述 【問題描述】 小藍現(xiàn)在有一個長度為100 的數(shù)組,數(shù)組中的每個元素的值都在0 到9 的范圍之內(nèi)。數(shù)組中的元素從左至右如下所示: 現(xiàn)在他想要從這個數(shù)組中尋找一些滿足以下條件的子序列: 子序列的長度為8; 這個子序列可以按照下標順序組成一個yyyymmdd 格式的日

    2024年02月04日
    瀏覽(18)
  • 2023第十四屆藍橋杯模擬賽第二期個人題解(Java實現(xiàn))

    2023第十四屆藍橋杯模擬賽第二期個人題解(Java實現(xiàn))

    2023第十四屆藍橋杯校內(nèi)模擬賽第三期個人題解(Java實現(xiàn)) 藍橋杯真題——單詞分析(Java實現(xiàn)) 這篇文章為個人題解,假如我寫的解法有誤,歡迎大家在評論區(qū)指正????!?。∠M@篇文章對你有幫助?? 請找到一個大于 2022 的最小數(shù),這個數(shù)轉(zhuǎn)換成二進制之后,最低的

    2023年04月23日
    瀏覽(1066)
  • 藍橋杯第十四屆省賽完整題解 C/C++ B組

    藍橋杯第十四屆省賽完整題解 C/C++ B組

    沒有測評,不知道對不對,僅僅過樣例而已 本題總分:5 分 【問題描述】 小藍現(xiàn)在有一個長度為 100 的數(shù)組,數(shù)組中的每個元素的值都在 0 到 9 的 范圍之內(nèi)。數(shù)組中的元素從左至右如下所示: 5 6 8 6 9 1 6 1 2 4 9 1 9 8 2 3 6 4 7 7 5 9 5 0 3 8 7 5 8 1 5 8 6 1 8 3 0 3 7 9 2 7 0 5 8 8 5 7 0 9 9 1 9

    2023年04月13日
    瀏覽(95)
  • 第十四屆藍橋杯大賽軟件賽省賽 Java 大學(xué) B 組題解

    找規(guī)律,可以先手動模擬幾次,會發(fā)現(xiàn)?隨著n越大,零也越多,當n為40的時候剛好有9個0 所以到40項以后的末尾9個階乘的和一定是不變的,可以用手算,也可以寫程序 答案是,901327897 代碼: Java中有十進制轉(zhuǎn)化為二進制,十六進制,八進制的方法,暴力枚舉一下即可。(因為

    2024年02月02日
    瀏覽(29)
  • 【藍橋杯Web】第十四屆藍橋杯(Web 應(yīng)用開發(fā))模擬賽 2 期 | 精品題解

    【藍橋杯Web】第十四屆藍橋杯(Web 應(yīng)用開發(fā))模擬賽 2 期 | 精品題解

    ????? 個人簡介:一個不甘平庸的平凡人?? ??? 藍橋杯專欄:藍橋杯題解/感悟 ??? TS知識總結(jié):十萬字TS知識點總結(jié) ?? 你的一鍵三連是我更新的最大動力??! ?? 歡迎私信博主加入前端交流群?? 第十四屆藍橋杯 Web 應(yīng)用開發(fā)模擬賽第二期昨天正式開始了(本來寫的

    2024年02月02日
    瀏覽(91)
  • 2022 第十四屆藍橋杯模擬賽第二期題目題解(比賽時使用方法)

    2022 第十四屆藍橋杯模擬賽第二期題目題解(比賽時使用方法)

    目錄 第一題:最小的2022 第二題:經(jīng)過天數(shù) 第三題:特殊的十六進制數(shù) 第四題:矩陣的最小路徑 第五題:質(zhì)數(shù)拆分 第六題:拷貝時間 第七題:單詞去重 第八題:最短回文串 第九題:多少個X? 第十題:最小交換 問題描述 請找到一個大于 2022 的最小數(shù),這個數(shù)轉(zhuǎn)換成二進

    2023年04月11日
    瀏覽(95)
  • 第十四屆藍橋杯大賽軟件組省賽 Python大學(xué)A組 個人暴力題解

    第十四屆藍橋杯大賽軟件組省賽 Python大學(xué)A組 個人暴力題解

    4.23 update: 省一咯 Powered by: NEFU AB-IN 博主個人的暴力題解,基本很少是正解,求輕噴 題意 思路 模擬即可,本身想用Python自帶的datetime庫,結(jié)果發(fā)現(xiàn)年不能開那么大,就直接手寫了 代碼 題意 思路 DFS爆搜即可 代碼 題意 思路 直接沒思路,一看到數(shù)據(jù)范圍瞬間慫了,腦子里想的

    2023年04月09日
    瀏覽(26)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包