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

Codeforces Round 904 (Div. 2)

时间:2023-12-09 20:13:24浏览次数:30  
标签:pre 904 int Codeforces long -- solve Div define

[Codeforces Round 904 (Div. 2)](https://codeforces.com/contest/1894)

A. Simple Design

暴力就行了 1e9跑不满的

#include <bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;

void solve(){
    int x,k;
    cin>>x>>k;
    for(int i=x;i<=2e9;i++){
        int y=i;
        int sum=0;
        while(y){
            sum+=y%10;
            y/=10;
        }
        if(sum%k==0&&sum>=k){
            cout<<i<<endl;
            return;
        }
    }
}

signed main(){
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    int T=1;
    cin>>T;
    while(T--) solve();
    return 0;
}

B. Haunted House

#include <bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;

const int N = 1e5 + 10;
int re[N],pr[N];


void solve(){
    int n;
    string s;
    cin>>n>>s;
    reverse(s.begin(),s.end());
    deque<int> idx;
    for(int i=0;i<s.size();i++)
        if(s[i]=='0')idx.push_back(i);
    if(idx.empty()){
        for(int i=0;i<s.size();i++)
            cout<<-1<<" ";
        cout<<endl;
        return;
    }
    int ans=0;
    for(int i=0;i<s.size();i++){
        if(s[i]=='0'){
            idx.pop_front();
            cout<<ans<<" ";
        }else{
            if(idx.empty()){
                for(int j=i;j<s.size();j++)
                    cout<<-1<<" ";
                cout<<endl;
                return;
            }else{
                ans += idx[0] - i;
                s[idx[0]] = '1';
                idx.pop_front();
                cout<<ans<<" ";
            }
        }
    }
    cout<<endl;
}

signed main(){
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    int T=1;
    cin>>T;
    while(T--) solve();
    return 0;
}

C. Medium Design

有个结论: 最小值一定在1处或者在m处。

#include <bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;

const int N = 2e5 + 10;
int n,m;
int pre[N],rev[N];

void solve(){
    vector<int> p;
    cin>>n>>m;
    p.push_back(1);
    p.push_back(m);
    memset(pre,0,sizeof pre);
    memset(rev,0,sizeof rev);
    
    vector<pair<int,int>> x1(n);
    for(auto &[l,r]:x1){
        cin>>l>>r;
        p.push_back(l);
        p.push_back(r);
    }
    sort(p.begin(),p.end());

//    cout<<endl;
//    for(auto u:p) cout<<u<<" ";
//    cout<<endl;

    int idx=lower_bound(p.begin(),p.end(),m)-p.begin()+1;
    for(auto &[l,r]:x1){
        l=lower_bound(p.begin(),p.end(),l)-p.begin()+1;
        r=lower_bound(p.begin(),p.end(),r)-p.begin()+1;
        //cout<<l<<" "<<r<<endl;
    }

    for(auto [l,r]:x1){
        if(l>1){
            pre[l]++;
            pre[r+1]--;
        }
        if(r<idx){
            rev[l]++;
            rev[r+1]--;
        }
    }
    for(int i=1;i<=idx;i++){
        pre[i] += pre[i-1];
        rev[i] += rev[i-1];
    }
    int ans1=*max_element(pre+1,pre+1+idx);
    int ans2=*max_element(rev+1,rev+1+idx);
    cout<< max(ans1,ans2) <<endl;
}

signed main(){
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    int T=1;
    cin>>T;
    while(T--) solve();
    return 0;
}

D. Counting Rhyme

#include <bits/stdc++.h>
#define endl '\n'
#define int long long
using namespace std;

const int N = 1e6 + 10;
int a[N] , cnt[N];
int f[N]; //fi:gcd恰好为i的对数
bool vis[N];
int n;

void solve(){
    cin>>n;
    for(int i=0;i<=n;i++){
        vis[i]=false;
        f[i]=0;
        cnt[i]=0;
        a[i]=0;
    }
    int cx=0;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        cnt[a[i]]++;
        cx = max(cx , a[i]);
    }
    for(int i=1;i<=cx;i++)
        for(int j=2*i;j<=cx;j+=i)
            cnt[i] += cnt[j];
    for(int i=cx;i>0;i--){
        f[i] = cnt[i]*(cnt[i]-1)/2;
        for(int j=2*i;j<=cx;j+=i)
            f[i] -= f[j];
    }
    for(int i=1;i<=cx;i++)
        for(int j=a[i];j<=cx;j+=a[i]) vis[j]=true;
    long long ans=0;
    for(int i=1;i<=cx;i++)
        if(!vis[i]) ans+=f[i];
    cout<<ans<<endl;
}

signed main(){
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    int T=1;
    cin>>T;
    while(T--) solve();
    return 0;
}

标签:pre,904,int,Codeforces,long,--,solve,Div,define
From: https://www.cnblogs.com/zfxyyy/p/17891395.html

相关文章

  • 如何设置div内的模块靠左显示,模块内容按行显示?
    要设置一个div内的模块靠左显示,并且模块内容按行显示,你可以使用CSS中的flexbox布局来实现。以下是一种可能的解决方案:HTML结构:<divclass="container"><divclass="module">模块1</div><divclass="module">模块2</div><divclass="module"&g......
  • Codeforces Round 801 (Div. 2)
    基本情况A就开始犯病,导致+2.B、C都过样例了,但是都错。B.CircleGame赛时推出来奇数必输,也知道偶数不是必赢,但是思路不清楚。这里我没意识到一个很关键的性质。奇数堆拿的石堆会变,这也导致了必输,比如三个堆\(1,2,3\)。表粗的为JOE。123123显然JOE拿的石堆是变化的......
  • [Codeforces] CF1763B Incinerate
    CF1763BIncinerate题意为了消灭人类,怪物协会向地球表面派出了\(n\)只怪兽。第\(i\)只怪物有一个生命值\(h_i\)和一个攻击力\(p_i\).凭借他最后的一击,真螺旋焚烧炮,Genos可以对所有活着的怪物造成\(k\)点伤害。换句话说,Genos可以通过一次攻击降低所有怪物\(k\)点......
  • Codeforces Round 909 (Div. 3)
    https://codeforces.com/contest/1899  一个小游戏#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>usingnamespacestd;intn;intmain(){cin>>n;while(n--){intx;......
  • [Codeforces] CF1704C Virus
    CF1704CVirus题意有一个长度为\(n\)的环,即对于\(1\leqi\leqn\),满足第\(i\)个与第\(i+1\)个房子相邻,特别地,第\(n\)个房子与第\(1\)个房子也相邻。一开始,这\(n\)个房子中有\(m\)个房子被病毒感染了。在之后的每天早上,都可以选择一个未被感染的房子并对其进行保护,被保......
  • [Codeforces] CF1703E Mirror Grid
    CF1703EMirrorGrid题意给定一个\(n\timesn\(n\le100)\)的01矩形,求至少修改多少次后能使矩形旋转0°,90°,180°,270°后所形成的矩形都完全相同。思路吸纳分为两种情况讨论:\(n\)为奇数那么会出现这种情况:(以\(5\times5\)为例)如上图,我们就可以将其分为五个部分,每个......
  • Codeforces Round 811 (Div. 3)
    基本情况ABC秒了。DE都给了我希望,但都做不下去。两道题反复横跳,结果最后谁也没做出来。E还是比D亲切的,先补E吧。E.AddModulo10做的时候想着说对每个个位数的变化找找规律,但是没有进一步的发现。实际上就应该从这里下手。首先共识:相同的两个数经过操作后必然相同。分析......
  • Codeforces Round 913 (Div. 3)
    A.Rook打印出象棋车的下一步usingnamespacestd;voidsolve(){ strings; cin>>s; chara=s[0]; charb=s[1]; set<string>ans; for(chari='1';i<='8';i++){ stringt=""; t+=a; t+=i; ans.insert(t); } for(chari......
  • 【LGR-168-Div.4】洛谷入门赛 #18
    打表过样例题目描述很不幸,你遇到了不负责任的出题人。在某道试题里,共有\(N\)个测试点,组成了\(k\)个Subtask,第\(i\)个Subtask包含\(p_i\)个测试点,第\(j\)个测试点的编号为\(w_{i,j}\)。请注意,一个测试点可能属于多个Subtask。Subtask每个Subtask包含多个测......
  • 可以拖拽缩放的div
    一、HTML代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metahttp-equiv="X-UA-Compatible"content="IE=edge"/><metaname="viewport"content......