codeforcesround#763(div.2)editorialc解题报告(代码片段)

skywalker767 skywalker767     2023-02-22     372

关键词:

链接 :https://codeforces.com/contest/1623/problem/C

题解: 二分答案即可。比较困扰我的是两个问题:1.怎么求出 d d d。2.如何判断这个 m i d mid mid的值是否合法。会不会出现,满足check,但是实际上不存在 m i d mid mid的情况。

第一个:
i n t d = m i n ( h [ i ] , c u r h [ i ] − x ) / 3 ; int d = min(h[i], cur_h[i] - x) / 3; intd=min(h[i],curh[i]x)/3;
被题解的这个 m i n min min折服了,我想的有点复杂的东西,居然可以这样搞。
第二个问题很容易解决,如果不存在,那么要么大,要么小,如果小的话,肯定能二分出更小的地方,如果更大,同理。

#include <bits/stdc++.h>
#define int long long
#define forn(i, n) for (int i = 0; i < n; ++i)
using namespace std;
typedef pair<int , int> PII;
int n;
vector<int> vec;

bool check(int mid)

    vector<int> backup(vec.begin() , vec.end());
    for (int i = n - 1;i >= 2;i -- )
    
        if (backup[i] < mid) return false;
        int d = min(backup[i] - mid , vec[i]) / 3;
        backup[i - 1] += d;
        backup[i - 2] += d * 2;
    
    return backup[0] >= mid && backup[1] >= mid;


signed main()

    int T; cin >> T;
    while(T --) 
        cin >> n;
        vec.resize(n);
        forn(i , n) cin >> vec[i];   
        int l = 0 , r = 1e9;
        while(l < r)
        
            int mid = (l + r + 1) >> 1;
            if (check(mid)) l = mid;
            else r = mid - 1;
        
        cout << l << endl;
    
    return 0;

codeforcesround#763(div.2)editorialc解题报告(代码片段)

链接:https://codeforces.com/contest/1623/problem/C题解:二分答案即可。比较困扰我的是两个问题:1.怎么求出ddd。2.如何判断这个midmidmid的值是否合法。会不会出现,满足check,但是实际上不存在midmidmid的情况。第一个:intd&... 查看详情

codeforcesround#394(div.2)

传送门:http://codeforces.com/contests/763,764A题:[l,r]中有a个偶数,b个奇数,问存不存在l和r,1<=l<=r。很容易想到,如果abs(a-b)<=1,那么l和r就是存在的,除了一种情况,就是a=b=0的时候。由于l和r都大于等于1,所以当a=b=0时,不... 查看详情

codeforcesround#815(div.2)题解

CodeforcesRound#815(Div.2)全场题解CodeforcesRound#815(Div.2)全场题解 查看详情

codeforcesround#735(div.2)

CodeforcesRound#735(Div.2)题海题目知识点ACherryBCobbCMikasaDDianeEYou 查看详情

codeforcesround#735(div.2)

CodeforcesRound#735(Div.2)题海题目知识点ACherryBCobbCMikasaDDianeEYou 查看详情

codeforcesround#691(div.2)

CodeforcesRound#691(Div.2)题号题目知识点ARed-BlueShuffleBMoveandTurnCRowGCDDGlassHalfSpilledELatinSquareFFlipandReverse 查看详情

codeforcesround#691(div.2)

CodeforcesRound#691(Div.2)题号题目知识点ARed-BlueShuffleBMoveandTurnCRowGCDDGlassHalfSpilledELatinSquareFFlipandReverse 查看详情

codeforcesround#166(div.2)bprimematrix

PrimeMatrix题目题目大意解题思路CodeCodeforcesRound#166(Div.2)B.PrimeMatrixCodeforcesRound#166(Div.2)A.BeautifulYear题解CodeforcesRound#166(Div.2)D.GoodSubstrings题解题目You’vegotann × mmatrix.Thematrixconsistsofinteg 查看详情

codeforcesround#688(div.2)

CodeforcesRound#688(Div.2)题号题目知识点-ACanceltheTrains签到(题解)BSuffixOperations思维CTriangles思维(略)DCheckpointsEDogSnacksFEvenHarder 查看详情

codeforcesround#746(div.2)

CodeforcesRound#746(Div.2)题号题目难度AGamerHemoseBHemoseShoppingCBakryandPartitioningDHemoseinICPC?EBoredBakry二进制思想F1AliceandRecoloring1F2AliceandRecoloring2 查看详情

codeforcesround#541(div.2)

CodeforcesRound#541(Div.2)题号题目知识点ASeaBattle思维BDraw!贪心模拟CBirthday思维DGourmetchoiceEStringMultiplicationFAsyaAndKittensGMostDangerousShark 查看详情

codeforcesround#738(div.2)

CodeforcesRound#738(Div.2)题号题目知识点AMochaandMathBMochaandRedandBlueCMochaandHikingD1MochaandDiana(EasyVersion)D2MochaandDiana(HardVersion)EMochaandStars 查看详情

codeforcesround#729(div.2)

CodeforcesRound#729(Div.2)题号题目知识点AOddSetBPlusandMultiplyCStrangeFunctionDPriorityQueueE1AbnormalPermutationPairs(easyversion)E2AbnormalPermutationPairs(hardversion) 查看详情

codeforcesround#729(div.2)

CodeforcesRound#729(Div.2)题号题目知识点AOddSetBPlusandMultiplyCStrangeFunctionDPriorityQueueE1AbnormalPermutationPairs(easyversion)E2AbnormalPermutationPairs(hardversion) 查看详情

codeforcesround#729(div.2)

CodeforcesRound#729(Div.2)题号题目知识点AOddSetBPlusandMultiplyCStrangeFunctionDPriorityQueueE1AbnormalPermutationPairs(easyversion)E2AbnormalPermutationPairs(hardversion) 查看详情

codeforcesround#166(div.2)dhashgoodsubstrings(代码片段)

GoodSubstrings题目题目大意解题思路CodeCodeforcesRound#166(Div.2)A.BeautifulYear题解CodeforcesRound#166(Div.2)B.PrimeMatrix题解CodeforcesRound#166(Div.2)D.GoodSubstrings题目You’vegotstrings,consistingofsmallEnglishlet 查看详情

codeforcesround#741(div.2)

CodeforcesRound#741(Div.2)题号题目知识点ATheMiracleandtheSleeperBScenesFromaMemoryCRingsD1TwoHundredTwentyOne(easyversion)D2TwoHundredTwentyOne(hardversion)ERescueNiwen!FTubularBells 查看详情

codeforcesround#737(div.2)

CodeforcesRound#737(Div.2)题号题目知识点AEzzatandTwoSubsequences思维(略)BMoamenandk-subarrays思维(略)CMoamenandXOR二进制DEzzatandGrid线段树+思维EAssiutChess 查看详情