首页 > 其他分享 >【CodeForces训练记录】CodeTON Round 9 (Div. 1 + Div. 2, Rated, Prizes!)

【CodeForces训练记录】CodeTON Round 9 (Div. 1 + Div. 2, Rated, Prizes!)

时间:2024-11-24 09:56:00浏览次数:7  
标签:Rated int CodeTON long 模数 solve Div define

训练情况

赛后反思

发现自己越来越能猜结论了,连续两题结论猜对了,一把rating上青了。

A题

构造一个数组使得模数互不相同,考虑构造一个模数为 \([0,1,2,3,4,5]\) 的数列,所以一个全是奇数的数列 \([1,3,5,7,9]\) 符合条件,直接输出 \(1 \sim n\) 的奇数即可。

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

using namespace std;

void solve(){
    int n; cin>>n;
    vector<int> cnt(103,0);
    int j = 1;
    for(int i = 0;i<n;i++){
        for(;j<=100;j++){
            if(j%(i+1)==i&&!cnt[j]){
                cnt[j]++;
                cout<<j<<" ";
                break;
            }
        }
    }
    cout<<endl;
}

signed main(){
    int T; cin>>T; while(T--)
    solve();
    return 0;
}

B题

定义函数 \(f(s)\) 为字符串 \(s\) 的非空子串,非空子串的个数要为偶数,考虑较小的情况,连续的两个相同 \(f(s)\) 为偶数,例如 \(f(aa) = a + aa = 2\),或者连续三个互不相同,例如 \(f(abc) = a + b + c + ab + bc + abc = 6\),所以我们只要判断字符串中是否有连续两个相同,或者连续三个互不相同即可。

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

using namespace std;

void solve(){
    string s; cin>>s;
    int n = s.size();
    for(int i = 0;i<n-2;i++){
        string t = s.substr(i,3);
        bool flag = true;
        for(int j = 0;j<3;j++){
            for(int k = j+1;k<3;k++){
                if(t[j] == t[k]) flag = false;
            }
        }
        if(flag){
            cout<<t<<endl;
            return;
        }
    }
    for(int i = 0;i<n-1;i++){
        string t = s.substr(i,2);
        bool flag = t[0]==t[1];
        if(flag){
            cout<<t<<endl;
            return;
        }
    }
    cout<<-1<<endl;
}

signed main(){
    int T; cin>>T; while(T--)
    solve();
    return 0;
}

C题

使得 xor(异或) 后能被 \(x,y\) 整除,首先 \(a \mod b\) 时,如果 \(b>a\) 那么模数一定不为零,所以如果 xor 后把 \(x\) 最高位的更高位变成 \(1\),那么之后的模数一定不为零,所以这题枚举的上界就为 \(min(2x,m)\)。

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

using namespace std;

void solve(){
    int x,m; cin>>x>>m;
    int ans = 0;
    for(int i = 1;i<=min(m,x*2);i++){
        if(x == i) continue;
        if(x%(x^i) == 0 || i%(x^i) == 0){
            ans++;
            // cout<<i<<endl;
        }
    }
    cout<<ans<<endl;
    // cout<<endl;
}

signed main(){
    int T; cin>>T; while(T--)
    solve();
    return 0;
}

标签:Rated,int,CodeTON,long,模数,solve,Div,define
From: https://www.cnblogs.com/longxingx/p/18565462

相关文章

  • matlab中mrdivide和mldivide记录
    解方程中常常见到Ax=B的形式,虽然可以用A^{-1}Ax=A^{-1}B的形式,也就是把A的逆矩阵求解出来的方式处理,但是A不是方阵时是没有办法用求逆的方法处理的,matlab中提供了mldivide和mrdivide的方式,具体如下:1.Ax=BA在x的左侧,调用mldivide(A,B),此处的l与A对应,表明左边的A在变量的左侧2.x......
  • Codeforces Round 979 (Div. 2) B. Minimise Oneness
    题目链接:题目大意:构造长度为nnn的01字符串,使得全为零的子序列和至少有一个1的子序列的数量之差的绝对值最小。思路:很明显,所有子序列中不是全为0就是至少有一个1,所以算......
  • 「题解」Educational Codeforces Round 170 (Rated for Div. 2)
    before我不想写作业呜呜。A.TwoScreensProblemA.TwoScreensSol&Code理解题意后发现使用复制的方法完成最长公共前缀即可。#include<bits/stdc++.h>typedeflonglongll;typedefstd::pair<int,int>pii;intT;std::strings1,s2;intmain(){scanf("%d"......
  • Educational Codeforces Round 170 (Rated for Div. 2) C. New Games
    题意转化找一些相邻的数(其中相邻定义为递增序下任意相邻两数差\(\leq1\))求相邻数中,不同数字有\(k\)种,取到数字个数的最大值算法容易想到按顺序排列观察到有点像滑动窗口,考虑用队列维护一个出现不同数字次数为\(k\)的区间,再计算代码来自转载地址voidsolv......
  • Codeforces Educational Codeforces Round 170 (Rated for Div. 2)
    A-TwoScreens大意:    给两个字符串,每次在两个空子符串进行两种操作     1、字符串末尾加一个任意字母    2、一个字符串全部复制给另一个字符串    求得到给定的两个字符串的最小操作数思路:    看最前面有多少相等即可 ......
  • 可编辑div遇到的那些事
        在日常开发中有时可能会遇到input或textarea不能满足的开发场景,比如多行输入的情况下,textarea的右下角icon无法去除,所以此时可以使用div设置可编辑状态,完成功能开发,在开发的过程中仍会遇到一下问题。1,如何设置div使其变成可编辑状态 通过给div添加:c......
  • codeforces round 977 (div.2) C2(访问set的第一个元素,观察数据规律-出现次序,用set记
    解题历程:我首先想到的是等效法,每一次操作可以等效为每次将第一个人抽出放入一组,后面的人往前移,而该组的人就是可以任意放置的人,当b中后面再出现与前一个相同的人时,就不进行操作,当b中出现不同的人时,就看看这组中有没有这个人,有的话就下一个循环,没有的话就看看这个新的人是否按a中......
  • Splatt3R: Zero-shot Gaussian Splatting from Uncalibrated Image Pairs 论文解读
    目录一、概述二、相关工作1、近期工作2、DUSt3R3、MASt3R三、Splatt3R1、MASt3R的Backbone 2、高斯预测头3、点云与3D高斯参数结合4、3D高斯渲染5、损失函数四、实验 1、对比实验2、消融实验一、概述    该论文首次提出了一种无需任何相机参数和深......
  • FreqFed: A Frequency Analysis-Based Approach for Mitigating Poisoning Attacks in
    FreqFed:AFrequencyAnalysis-BasedApproachforMitigatingPoisoningAttacksinFederatedLearning--FreqFed:一种基于频率分析的联邦学习中缓解中毒攻击的方法来源摘要威胁模型设计目标所用方法FreqFed总结思考来源NetworkandDistributedSystemSecurity......
  • Codeforces Round 932 (Div. 2) C. Messenger in MAC
    对于选定的\(p_i\)的情况下,如何使得代价小?显然是按照\(b\)升序的方式。因此我们可以考虑按照\(b\)进行排序。考虑一种贪心的做法,我们枚举区间\([l,r]\),这样区间的必选就是\(a_l,a_r,(b_r-b_l)\),因此我们可以贪心的选择剩下\(a\)中的最小值。这样复杂度是\(O(n^3\logn)\)。考......