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

Codeforces Round #823 (Div. 2)

时间:2022-09-28 21:14:04浏览次数:75  
标签:cnt int s0 Codeforces -- ti Div now 823

B. Meeting on the Line

题意:有n个人,第i个人的坐标是xi,从xi移动到yi要花 |x- yi| 的时间。除此之外,他还需要 t的时间打扮。试求一点使得所有人到这里所花时间的最大值最小,这个点的坐标可以是小数。

解:如果没有 ti ,那么就是很简单的取中点;考虑消除 ti 的影响,把 ti 看作这个人需要多走的路,那么就有把这个人往左挪 ti 格或者往右挪 ti 格两种选项,如果最终答案在这个人左边,那就相当于把他往右挪,反之亦然。可以观察到最终答案只和挪完后最左最右两个人有关,因此我们只关心两种选择可能造成的最大最小值,求其平均值即可。

C. Minimum Notation

题意:给出一个由0-9组成的字符串,每次可以选择任意一个数字,将其+1后放到任意的地方(如果是9的话+1还是9)。执行任意次操作,求字典序最小的结果。

解:感觉比B简单。观察一下样例发现把最小的留在前面,如果后面有比它小的就操作一下放在合适的位置,至于哪里合适不用管,反正最后sort一下就好。脑补一下可以证明是正解,遂交之,T了。仔细观察代码发现自己很弱智地一个字符一个字符输出,遂改之,AC。

代码:

#include<bits/stdc++.h>
using namespace std;
#define ll log long
#define maxx 200005
#define inf 1000000009;
int cnt[25]={0};
signed main(){
    int T;
    cin>>T;
    while(T--){
        string s,s0;
        cin>>s;
        int n=s.length();
        for(int i=0;i<=9;i++)
            cnt[i]=0;
        for(int i=0;i<n;i++){
            cnt[s[i]-'0']++;
        }
        for(int i=0;i<n;i++){
            int flag=0,now=s[i]-'0';
            for(int j=now-1;j>=0;j--){
                if(cnt[j]) {
                    flag = 1;
                    break;
                }
            }
            if(flag)
                s0+=(min(now+1,9)+'0');
            else s0+=(now+'0');
            cnt[now]--;
        }
        sort(s0.begin(), s0.end());
        cout<<s0<<'\n';
    }
    return 0;
}
View Code

 

标签:cnt,int,s0,Codeforces,--,ti,Div,now,823
From: https://www.cnblogs.com/capterlliar/p/16739556.html

相关文章

  • *ABC 245 D - Polynomial division(数论/思维)
    https://atcoder.jp/contests/abc245/tasks/abc245_d题目大意:n个数字,代表A(X)=a[0]*X^0+a[1]*X^1+......+a[n]*X^n;m个数字,代表B(X)=b[0]*X^0+b[1]*X^1+...........
  • Educational Codeforces Round 135 (Rated for Div. 2) - E. Red-Black Pepper
    exgcdProblem-E-Codeforces题意给\(n\;(n<=3*10^5)\)个菜,每个菜可以加红辣椒或黑辣椒,分别可以获得\(c[i],d[i]\)分;有\(m\;(m<=3*10^5)\)个商店,第i个商店包......
  • Codeforces Round #240 (Div. 1) B. Mashmokh and ACM(DP)
    https://codeforces.com/contest/414/problem/B题目大意:给定一个范围【1,k】,要求我们从这里面选出n个数字,并且满足任意两个相邻数字中后一个数字%前一个数字==0问我......
  • CSS0027: div 倒角效果
    1,<divid="test"></div>#test{display:inline-block;width:100px;height:100px;background:linear-gradient(135d......
  • Codeforces Round #105 (Div. 2) D. Bag of mice
    CodeforcesRound#105(Div.2)翻译岛田小雅D.Bagofmice出题人Nickolas巨龙和公主在纠结大年夜应该干什么。巨龙想去山上看精灵们在月光下跳舞,但公主只想早点睡......
  • Codeforces Round #823 (Div. 2)(持续更新)
    Preface本来没准备打这场比赛的,因为昨天出去high玩了一整天才发现今天才发现晚上有CF,遂报名rush一发结果今天状态有点崩,先是B看错题导致浪费时间,然后又是D自己叉自己把原......
  • Codeforces Round #822 (Div. 2) - E. Rectangular Congruence
    同余Problem-E-Codeforces题意给一个长度为\(n(2<=n<350)\)的数组\(b_i\),\(0<=b_0,b_1...b_n<n\)要构造一个大小为\(n*n\)的矩阵A,\(a_{i,i}=b_i\),并且满......
  • Codeforces Round #822 (Div. 2)
    D.SlimeEscape被greedy整破防了。这是转换后的题面。考虑使用调整法构造,记2个序列分别为\(f,g\),那么一种调整法是,\(f\)加了没事就加了不管,否则我们再考虑往当......
  • Codeforces Round #822
    目录写在前面ABCDEF写在最后写在前面比赛地址:https://codeforces.com/contest/1734。复健后第一场div2,感觉有19年水平了。哈哈。A\(t\)组数据,每组数据给定一长......
  • Codeforces Round #822 (Div. 2)
    比赛链接CodeforcesRound#822(Div.2)D.SlimeEscape给一个长度为\(n\)的序列以及一个\(k\),表示当前位于\(k\)这个位置,要求该位置的数往左或者右,每次只能加上......