首页 > 其他分享 >CodeStar2023年春第3周周赛普及奠基组

CodeStar2023年春第3周周赛普及奠基组

时间:2023-04-06 12:57:40浏览次数:53  
标签:ll CodeStar2023 周周赛 质数 int pf using 年春 mx

T1:字符串加密

本题难度简单,根据题目描述模拟即可。

代码实现
#include <bits/stdc++.h>

using namespace std;

int main() {
    string s;
    cin >> s;
    
    for (char& c : s) {
        if (islower(c)) c -= 32;
        else c += 32;
    }
    
    reverse(s.begin(), s.end());
    
    cout << s << '\n';
    
    return 0;
}

T2:美丽的数

本题难度简单,只有完全平方数才可能满足只有 \(3\) 个约数,再满足算术平方根是质数时,就一定只有 \(3\) 个约数,那么可以先筛出所有质数,然后每次判断给定的数是否为完全平方数且算术平方根是质数。

代码实现
#include <bits/stdc++.h>
#define rep(i, n) for (int i = 0; i < (n); ++i)

using namespace std;
using ll = long long;

// linear sieve
vector<int> ps, pf;
void sieve(int mx) {
    pf.resize(mx + 1);
    rep(i, mx + 1) pf[i] = i;
    for (int i = 2; i <= mx; ++i) {
        if (pf[i] == i) ps.push_back(i);
        rep(j, ps.size()) {
            int x = ps[j] * i;
            if (x > mx) break;
            pf[x] = ps[j];
        }
    }
}

int main() {
    sieve(1e6);
    
    int q;
    cin >> q;
    
    while (q--) {
        ll x;
        cin >> x;
        ll y = sqrtl(x);
        if (y > 1 and y*y == x and pf[y] == y) puts("Yes");
        else puts("No");
    }
    
    return 0;
}

标签:ll,CodeStar2023,周周赛,质数,int,pf,using,年春,mx
From: https://www.cnblogs.com/Melville/p/17292424.html

相关文章

  • CodeStar2023年春第2周周赛普及进阶组
    T1:递推134数本题难度中等,递推计数问题,需要使用高精度......
  • 2023年春面向对象第一单元
    23年春面向对象第一单元分析与总结目录 前言 架构  解析方法  数据结构  类图分析 基于度量的程序结构分析 BUG分析 互测相关 总结前言OO第一单元......
  • 2023年春季学期开课博客
    本周的周一我们进行了本学期的第二次课,介绍了本学期我们主要学习的内容,在我看来本学期最主要的任务有两个,第一个是中国大学生服务外包杯比赛,作为团队的一员应该完成好队长......
  • 使用 JavaScript 创建一个兔年春节倒数计时器
    我们可以通过多种方式构建JavaScript倒数计时,我在本教程中展示的这个​​兔年春节倒数计时器​​是由HTMLCSS和JavaScript创建的。它的工作方式非常简单,需要两种类......
  • 2023年春季
    2023年1月第一周:1.3-1.62023年1月3日周二​​​​​​​​​​​记录闪现的灵感INSPIRATIONS​​​​​​​​​​​1、​​​​​​​​​​​本周书单  BOOKS......
  • 2023年春节放假通知
    新年的钟声悄然敲响是游子归乡的时节,是合家团圆的美满还有甜甜蜜蜜的暖心时刻将新春佳节化作更喜乐的时光​根据国务院办公厅放假规定,并结合公司实际情况,现将放假安排通知如......
  • CCNUACM寒假培训第二周周赛部分题解(ACF)
    A题大意:给出n个数,每次可以选择任意一个数进行加一操作,可执行k次,求最大值可能的最大最小值考虑最大值最大,即所有操作都对初始n个数中的最大值进行,答案即max(a1,.....,an)+......
  • CodeStar2022年秋第10周周赛普及进阶组
    T1:子序列相似度本题难度中等,做法和编辑距离类似,用dp[i][j]表示\(s\)的长为\(i\)的前缀和\(t\)的长为\(j\)的前缀的最大相似度初值:\(dp[0][0]=0\)转移:\(d......
  • CodeStar2022年秋第9周周赛普及奠基组
    T1:k的幂分拆本题难度中等,完全背包模板题,以\(k\)的幂作为物品大小记dp[i][j]表示使用若干个\(k^0\simk^i\),相加恰好为\(j\)的方案数转移:\(dp[i][j]=dp[i-......
  • CodeStar2022年秋第9周周赛普及奠基组
    T1:矩阵涂色本题难度简单,考察二维数组的基本使用。矩阵最终状态中,如果某一行全是红色,说明最后一次操作是R操作,如果某一列全是蓝色,说明最后一次操作一定是B操作代......