首页 > 其他分享 >Codeforces Round 931 (Div. 2)

Codeforces Round 931 (Div. 2)

时间:2024-03-02 11:11:19浏览次数:23  
标签:std int Codeforces long abs ans 931 Div define

Codeforces Round 931 (Div. 2)

比赛链接

A. Too Min Too Max

思路

这题一开始我以为就是简单的模拟一下,四个for循环可能就可以,事实上并不是,因为我们想让最后的值最大,所以我们可以将数组进行排序,之后我们从最左边取两个,最右边取两个,插着求绝对值的和就行

Code

#include <bits/stdc++.h>
using namespace std;
#define all(x) x.begin()+1,x.end()

#define int long long

const int N=1e6+10;


void solve(){
    int n;
    cin>>n;
    std::vector<int> a(n+1);
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    sort(all(a));
    int i=a[n],j=a[1],k=a[n-1],l=a[2];
    int ans=abs(i-j)+abs(j-k)+abs(k-l)+abs(l-i);
    cout<<ans<<endl;

    return ;
    
}

signed main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr), std::cout.tie(nullptr);

    int T = 1;
    std::cin >> T;
    while (T--) solve();

    return 0;

}

B. Yet Another Coin Problem

思路

蒋老师代码太厉害了,就是考虑贪心的策略,拿3个1你不如拿1个3,拿2个3不如拿1个6,拿五个6不如拿3个10,拿3个10不如拿2个15

Code

#include <bits/stdc++.h>
using namespace std;
#define all(x) x.begin()+1,x.end()

#define int long long

void solve() {
    int n;
    std::cin >> n;
    
    int ans = n;
    for (int a = 0; a < 3; a++) {
        for (int b = 0; b < 2; b++) {
            for (int c = 0; c < 5; c++) {
                for (int d = 0; d < 3; d++) {
                    int res = n - a - 3 * b - 6 * c - 10 * d;
                    if (res >= 0 && res % 15 == 0) {
                        ans = std::min(ans, res / 15 + a + b + c + d);
                    }
                }
            }
        }
    }
    std::cout << ans << "\n";
}

signed main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr), std::cout.tie(nullptr);
    // init();

    int T = 1;
    std::cin >> T;
    while (T--) solve();

    return 0;

}

标签:std,int,Codeforces,long,abs,ans,931,Div,define
From: https://www.cnblogs.com/du463/p/18048406

相关文章

  • Codeforces Round 911 (Div. 2) vp D题
    前面三题,就B题一道900的题目让我wa了两发,而且有点难看出来主要是想不到。。不知道该怎么像。应该算是题目理解不清晰吧,很麻烦。。这个原因可以说是没有一个完整的思考路径,我能够直接想到答案接近的处理方法,但是细节上没有注意。在考虑问题的时候可能。。需要慢一些,太快了,容易漏......
  • CodeForces 1936D Bitwise Paradox
    洛谷传送门CF传送门和CF1004FSonyaandBitwiseOR很像。考虑一次询问怎么做。考虑分治,每次只计算左端点在\([l,mid]\),右端点在\([mid+1,r]\)的区间的贡献。对于每个\(i\in[l,mid]\),维护最小的\(j\in[mid+1,r]\)使得\([i,j]\)的或\(\gev\),那么\(\m......
  • Codeforces 839E Mother of Dragons
    令\(s_u\)为点\(u\)分配到的权值。结论:最后选出来有权值的肯定是一个最大团。考虑反证,如果\(x,y\)间没有连边,则\(x,y\)的贡献是独立的,若\(\sum\limits_{(u,x)\inE}s_u\ge\sum\limits_{(v,y)\inE}s_v\),那么就可以把\(s_y\)给\(s_x\),否则把\(s_x\)给\(s_......
  • div3笔记
     Problem-E-Codeforces这道题用了记录一个数末尾零的板子(敲重点)!!!再说一遍,简单博弈论就是贪心!1voidsolve(){2cin>>n>>m;3vector<int>a(n),b(n);4for(inti=0;i<n;i++)cin>>a[i];5intlen=0;//这组数字总共有几位,总长度6......
  • 2024 蓝桥杯模拟赛3(div1+div2)
    2024蓝桥杯模拟赛3(div1+div2)P8834[传智杯#3决赛]序列简单的模拟,数据范围很小,暴力即可点击查看代码#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;constintN=1e5+5;voidsolve(){ lln,k,a[N],cnt=0; cin>>n>>k; for(inti=1;i<=n;i++)c......
  • vue项目引入高德地图报错:Map container div not exist (火狐浏览器不加载地图)
    问题描述:谷歌浏览器正常显示地图,火狐浏览器不加载,并且报错:  Mapcontainerdivnotexist错误代码如下:  修改后代码如下:  参考大佬:https://blog.csdn.net/white_777/article/details/128286558  ......
  • Codeforces 1406E Deleting Numbers
    考虑询问每个质因子及其次数最后组合得到\(n\)。注意到\(n\)最多只会有\(1\)个\(>\sqrt{n}\)的质因子。于是考虑分成\(\le\sqrt{n}\)和\(>\sqrt{n}\)来考虑。对于\(\le\sqrt{n}\)的\(p\)。考虑先\(\texttt{B}\p\),那么还剩下的\(p\)的倍数就只有\(x\)......
  • Codeforces Round 930 (Div. 2) - sol
    20240301由于笔者实力较弱,所以这只是Div2的题解。四年一次的比赛啊,还是要打。Dashboard-CodeforcesRound930(Div.2)-CodeforcesA.ShufflePartyYouaregivenanarray\(a_1,a_2,\ldots,a_n\).Initially,\(a_i=i\)foreach\(1\lei\len\).Theopera......
  • Codeforces 1446D1 Frequency Problem (Easy Version)
    考虑求出全局的众数\(A\)。那么有一个结论,就是答案区间的众数中绝对有\(A\)。考虑反证法,如果没有\(A\),\(A\)在序列中出现的个数一定\(\ge\)区间内众数的出现个数,所以可以一直往外扩展直到\(A\)出现的个数与区间内非\(A\)众数的个数持平,这样肯定更优。于是可以考虑钦......
  • Codeforces 1446D2 Frequency Problem (Hard Version)
    考虑求出全局的众数\(A\)。那么有一个结论,就是答案区间的众数中绝对有\(A\)。考虑反证法,如果没有\(A\),\(A\)在序列中出现的个数一定\(\ge\)区间内众数的出现个数,所以可以一直往外扩展直到\(A\)出现的个数与区间内非\(A\)众数的个数持平,这样肯定更优。于是可以考虑钦......