AtCoder Beginner Contest 177总结

myatcoder:AtCoder的代码 myatcoder AtCoder的代码 立即下载

回学校第一次打AtCoder,感觉晚上在寝室打不在状态~~

A - Don’t be late

数学题签到

#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0)
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
const int N=100010;
ll a[N];
int n;
int main()
{
    IO;
    int d,t,s;
    cin>>d>>t>>s;
    int x=(d+s-1)/s;
    if(t>=x) cout<<"Yes"<<endl;
    else cout<<"No"<<endl;
    return 0;
}

B - Substring

直接暴力即可

#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0)
#include<string>
#include<cstring>
#include<iostream>
#include<algorithm>
#define mkp(a,b) make_pair(a,b)
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
int main()
{
    IO;
    string s,t;
    cin>>s>>t;
    int res=1e9;
    for(int i=0;i+t.size()<=s.size();i++)
    {
        int cnt=0;
        for(int j=0;j<t.size();j++) 
            if(s[j+i]!=t[j]) cnt++;
        res=min(cnt,res);
    }
    cout<<res<<endl;
    return 0;
}

C - Sum of product of pairs

预处理前缀和即可

#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0)
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
const int N=200010,mod=1e9+7;
ll a[N],s[N];
int n;
int main()
{
    IO;
    cin>>n;
    for(int i=1;i<=n;i++) 
    {
        cin>>a[i];
        s[i]=s[i-1]+a[i];
    }
    ll res=0;
    for(int i=1;i<=n;i++)
        res=(res+(s[n]-s[i])%mod*a[i]%mod)%mod;
    cout<<res<<endl;
    return 0;
}

D - Friends

并查集维护sz[]找个最大的即可

#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0)
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const int N=200010,mod=1e9+7;
int p[N],sz[N];
int n,m;
int find(int x)
{
    if(x!=p[x]) p[x]=find(p[x]);
    return p[x];
}
int main()
{
    IO;
    cin>>n>>m;
    for(int i=1;i<=n;i++) p[i]=i,sz[i]=1;
    while(m--)
    {
        int a,b;
        cin>>a>>b;
        int pa=find(a),pb=find(b);
        if(pa!=pb)
        {
            p[pa]=pb;
            sz[pb]+=sz[pa];
        }
    }
    int res=0;
    for(int i=1;i<=n;i++)   
        if(i==p[i]) res=max(res,sz[i]);
    cout<<res<<endl;
    return 0;
}

E - Coprime

太久没做过数论题目了,筛法啥的都忘完了,回头刷kuangbin复习复习吧
方法一
如果两个数最大公约数不为1,那么对两个数进行分解质因数后一定有相同的质因子。——O(nai)O(n\sqrt{a_i})O(nai​​) 1040ms

#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0)
#pragma GCC optimize(2)
#include<iostream>
#include<algorithm>
using namespace std;
const int N=1000010;
int a[N],cnt[N];
int n;
int gcd(int a,int b)
{
    return b?gcd(b,a%b):a;
}
void divide(int x)
{
    for(int i=2;i<=x/i;i++)
    {
        if(x%i==0) 
        {
            cnt[i]++;
            while(x%i==0) x/=i;
        }
    }
    if(x>1) cnt[x]++;
}
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    for(int i=1;i<=n;i++) divide(a[i]);
    int d=a[1];
    for(int i=2;i<=n;i++) d=gcd(d,a[i]);
    bool ok=1;
    for(int i=1;i<N;i++)
        if(cnt[i]>1) 
        {
            ok=0;
            break;
        }
    if(ok) cout<<"pairwise coprime"<<endl;
    else if(d==1) cout<<"setwise coprime"<<endl;
    else cout<<"not coprime"<<endl;
    return 0;
}

方法二
方法一反着做,将原数分解质因数,方法二是正着做,考虑两个数最大公约数是d那么两个数一定是d的倍数,直接暴力筛原数组中一个数的倍数的个数。如果个数大于1就不是pairwise coprime——O(NlogN)O(NlogN)O(NlogN) 248ms

#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0)
#pragma GCC optimize(2)
#include<iostream>
#include<algorithm>
using namespace std;
const int N=1000010;
int a[N],mp[N];
int n;
int gcd(int a,int b)
{
    return b?gcd(b,a%b):a;
}
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++) 
    {
        cin>>a[i];
        mp[a[i]]++;
    }
    bool ok=1;
    for(int i=2;i<N;i++)
    {
        int cnt=0;
        for(int j=i;j<N;j+=i) cnt+=mp[j];
        if(cnt>1)
        {
            ok=0;
            break;
        }
    }
    int d=a[1];
    for(int i=2;i<=n;i++) d=gcd(d,a[i]);
    if(ok) cout<<"pairwise coprime"<<endl;
    else if(d==1) cout<<"setwise coprime"<<endl;
    else cout<<"not coprime"<<endl;
    return 0;
}

F - I hate Shortest Path Problem

线段树 留个坑回来补一下?
要加油哦~

Win11注册表没有MMC的解决方法 本文详细介绍了在Win11系统中解决注册表没有MMC项的问题的方法。通过创建并导入注册表修复文件,我们可以成功地在注册表中添加缺失的MMC项。在操作过程中,需要注意备份注册表、以管理员身份运行工具以及系统更新等事项。希望本文能够帮助到遇到类似问题的用户,提高系统管理的效率和便捷性。如果你还有其他关于Windows操作系统的问题或疑问,欢迎随时提问并寻求帮助。 阅读详情

相关推荐

基于MicroPython的ESP32与微信小程序MQTT通信实战

本文详细介绍了基于MicroPython的ESP32与微信小程序通过MQTT协议实现远程控制的完整实战方案。项目利用巴法云作为免费MQTT服务器,提供了从设备端编程、小程序开发到通信调试的全流程指南,帮助开发者快速构建低成本、易上手的物联网应用,如智能开关、传感器监控等。

week9的博客 629

AtCoder Beginner Contest 177 E.Coprime

AtCoder Beginner Contest 177 E.Coprime 题目链接 这题我直接想到了质因数分解????,先素筛出 1e61e61e6 的质因数,然后对每个数质因数分解,每个质因数都标记一下,如果没有重复,那么这一组数肯定两两互质;如果重复,求这一组数的公因数,如果是 111,输出 setwise coprimesetwise\ coprimesetwise coprime,否则输出 not coprimenot\ coprimenot copri

旺崽的博客 2917

别再瞎猜了!三角形接法PMSM的相电流到底怎么算?实测线电流转换公式与避坑指南

本文深入解析三角形接法永磁同步电机(PMSM)在FOC控制中的相电流计算误区,提供实测线电流转换公式与避坑指南。针对矢量控制系统中常见的√3换算错误,详细阐述正确的电流重构算法、硬件采样要点及软件优化技巧,帮助工程师实现精确控制并避免电机损坏。

weixin_30367873的博客 461

AtCoder Beginner Contest 248 部分题解

A: 模拟 B: 模拟 C: 动态规划 D: 二分查找 E: 计算几何+离散化

山中一扶苏的博客 530

Mixer-First Receiver适用于宽带阵列应用的接收机技术1

Mixer-First Receiver适用于宽带阵列应用的接收机技术1技术的背景单元级数字化阵列传统链路到Mixer-First链路的逻辑考虑三种场景小结 技术的背景 在文章《吊打全球的顶级毫米波数字阵列项目-MIDAS》中提到了DARPA在MIDAS项目中在毫米波实现宽带单元级数字化阵列用到了一个关键的叫做N-Path filter的技术,而这个技术同样出现在了《让微波射频工程师颤抖的芯片-MATRICs》的MATRICs芯片中。 为什么DARPA的各个合作研究机构选择这种技术?这篇来自Universi

ICONO的博客 2163

RK3588开发板量产前必做:24小时DDR压力测试到底在测什么?(附ArmSoM-W3测试脚本解析)

本文深入解析RK3588开发板量产前的24小时DDR压力测试,揭示其核心价值与技术原理。通过memtester、stressapptest和变频测试的组合使用,全面验证DDR内存稳定性。特别介绍ArmSoM-W3测试脚本的创新设计,包括并行测试架构和异常熔断机制,为开发者提供可靠的量产测试方案。

weixin_30325487的博客 447

AtCoder Beginner Contest 177 E - Coprime(数论+思维)

传送门 题目大意: 有N个数,如果两两之间相互互质,则输出pairwise coprime,否则如果是gcd(A1,A2,……,An)==1,则输出setwise coprime,否则输出not coprime。 解题思路: 这题数论题其实应该挺简单的,比赛的时候其实已经想的差不多了,但是不知道具体怎么实现,判断是不是setwise, 就是把n个数依次求gcd就行了。 每求过一次两数的gcd, 就把原来的两数删除并把新的gcd加入即可。而求是否是pairwise,我的想法是只要判断素数和素数、素数和合数

qq_43697256的博客 799

Unity URP项目里Post Processing死活没效果?别慌,这5个坑我帮你踩过了

本文详细解析了Unity URP项目中Post Processing效果失效的五大常见问题,包括渲染管线配置冲突、Volume作用域误判、摄像机参数漏配、Layer层级冲突和Profile引用异常。通过实际项目案例和代码示例,提供专业级解决方案,帮助开发者快速排查并修复后处理效果不生效的问题。

weixin_33721427的博客 330

【AtCoder】D - Coprime 2 欧拉筛

D 题意: 给n个数,求在1-m中所有与这n个数互质的所有数。 ab互质则ab没有相同的质因数,因此只要把n个数的所有质因子求出来存在S中,再用欧拉筛,即在1-m中所有是S倍数的都不是要求的数,去除。剩下的就是答案。 #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int> pii; #define pb push_back #define fi first #de

karshey的博客 342

RICHARDSON-LUCY 去卷积简介

Lucy去卷积1.泊松过程及联合概率分布2.极大似然估计参考文献 1.泊松过程及联合概率分布 首先假设相机接收光子生成图像的过程符合泊松分布。 因此,一次曝光过程中,某像素位置接收到iii个光子的概率p(i)p(i)p(i)为: p(i)=exp⁡(−λ)⋅λii!\qquad\qquad p(i)=\exp(-\lambda)\cdot\cfrac{\lambda^{i}}{i!}p(i)=exp(−λ)⋅i!λi​ 那么针对一张M∗NM*NM∗N的图像,所有像素的联合概率分布可以描述为: P(I)=∏e

驽马十驾,功在不舍;锲而不舍,金石可镂。 8687

必知必会:DeepSeek-R1训练流程详解

必知必会:DeepSeek-R1训练流程详解

丨汀、的博客 282

AtCoder Beginner Contest 177 E Coprime 线性筛素数+统计质因数数量+特判

AtCoder Beginner Contest 177 比赛人数9636 AtCoder Beginner Contest 177 E Coprime 线性筛素数+统计质因数数量+特判 总目录详见https://blog.csdn.net/mrcrack/article/details/104454762 在线测评地址https://atcoder.jp/contests/abc177/tasks/abc177_e 题目大意:给定一个数组,若其中任意两个元素,两两互质,输出pair...

mrcrack的博客 782

《QGIS快速入门与应用基础》021:插件仓库 URL 获取与添加

详细介绍了在QGIS中添加第三方插件仓库的方法。首先强调必须从官方推荐、开源社区等可靠渠道获取插件仓库URL以确保安全性,并列出了4类可信获取渠道。文章分步骤讲解了URL添加流程,包括打开插件管理器设置面板、填写仓库信息、刷新缓存验证等操作。针对常见问题如URL格式错误、连接失败等提供了具体解决方案。最后总结指出,成功添加第三方仓库后即可直接搜索安装各类专业插件,从而扩展QGIS功能边界。全文注重实操指导,特别适合需要安装行业专用插件的QGIS用户参考。

LuckyHanMo的博客 454

AtCoder Beginner Contest 177

AtCoder Beginner Contest 177

青少年趣味编程 939

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

AtCoder Beginner Contest 177 C Sum of product of pairs 公式推导

AtCoder Beginner Contest 177 比赛人数9636 AtCoder Beginner Contest 177 C Sum of product of pairs 公式推导 总目录详见https://blog.csdn.net/mrcrack/article/details/104454762 在线测评地址https://atcoder.jp/contests/abc177/tasks/abc177_c 题目大意:给出一个数组,数组元素两两求积,再对积求和,...

mrcrack的博客 446

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

AtCoder Beginner Contest 177 A~D 题解

ABC177 A~D 题解 A - Don't be late B - Substring C - Sum of product of pairs D - Friends

天生我材必有用,千金散尽还复来。 8653

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

AtCoder Beginner Contest 177 D.Friends

AtCoder Beginner Contest 177 D.Friends 题目链接 典型的并查集,不难发现答案就是最大的并查集的元素个数,AC代码如下: #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=2e5+5; int n,m,ans=0,father[N],sum[N]; int Findfather(int x){ return father[x]==x?x:fat

旺崽的博客 2798

AtCoder题解——Beginner Contest 177——B - Substring

题目相关 题目链接 AtCoder Beginner Contest 177 B题,https://atcoder.jp/contests/abc177/tasks/abc177_b。 Problem Statement Given are two stringsSandT. Let us change some of the characters inSso thatTwill be a substring ofS. At least how many characters ...

努力中的老周的专栏 867

AtCoder Beginner Contest 177 题解

希望更好的阅读体验?点这里 一、题解 A.Don’t be late 题目大意: 高桥君计划在 TTT 分钟内于离家 DDD 米的地方与青木君碰面,已知高桥君速度为 SSS,问他能否在 TTT 分钟内(包括 TTT 分钟)与青木君相遇。(1≤T,D,S≤100001 \le T,D,S \le 100001≤T,D,S≤10000 且都为整数) 分析: 人口普查题,只需判断 $T \times S $ 是否 大于等于 DDD 就可以了。 代码: #include <cstdio> int mai

vescovo的博客 594

AtCoder Beginner Contest 177(D、E)

AtCoder Beginner Contest 177

zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 303

AtCoder Beginner Contest 177 F.I hate Shortest Path Problem

AtCoder Beginner Contest 177 F.I hate Shortest Path Problem 题目链接 map+multiset,AC代码如下: #include<bits/stdc++.h> using namespace std; typedef long long ll; int h,w,a,b; map<int,int>m; multiset<int>s; int main(){ cin>>h>>w;

旺崽的博客 2829

AtCoder Beginner Contest 177 (A~E)

比赛链接 A 题意: 给你一个距离D,时间T,速度S,问是否可以在T时间内到达。 思路: 模拟比较即可。 AC代码: #include<iostream> #include<cstdio> #include <stdio.h> #include<algorithm> #include<cstring> #include <string> #include<cmath> #include<cstdlib> #inc

CHAI_NIAOJINJE的博客 305

AtCoder题解—— AtCoder Beginner Contest 177 —— D - Friends

题目相关 题目链接 AtCoder Beginner Contest 177 D 题,https://atcoder.jp/contests/abc177/tasks/abc177_d。 Problem Statement There are N persons called Person 1 through Person N. You are given M facts that "Person Ai and Person Bi are friends." The same fact may be

努力中的老周的专栏 510

AtCoder Beginner Contest 177(E,F)

E - Coprime First,judging the gcd(a1,a2,...,an)gcd(a_1,a_2,...,a_n)gcd(a1​,a2​,...,an​) whether equal to 111. Then,if not equal to 111,output “not coprime”,else we judging whether is multiply number’s factory for every <=1e6<=1e6<=1e6’ prime。 The

Huah_2018的博客 639

AtCoder Beginner Contest 177 A ~ E

A - Don’t be late 签到: #include<iostream> #include<algorithm> using namespace std; int main(){ double d,t,s; cin>>d>>t>>s; double ans = d / s; if(ans <= t) cout<<"Yes"<<endl; else cout<<"No"<&lt

PengWei Yang 256
上一篇: Educational Codeforces Round 94 (Rated for Div. 2)
下一篇: Codeforces Round #666 (Div. 2)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值