news 2026/5/6 6:34:50

ABC048 vp感

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ABC048 vp感

A

先放代码:

#include<bits/stdc++.h>usingnamespacestd;intmain(){string a,b;cin>>a>>b,cout<<"A"<<b[0]<<"C";return0;}

初学者看不懂系列。想要理解这段代码,首先需要了解cin \text{cin}cin在输入string \text{string}string类型时的工作原理。cin \text{cin}cin输入时,会自动在空格处停下,不再接受空格后的内容。举个例子:
输入:
zhujianheng AK IOI,如果用以下代码,会输出zhujianheng

#include<bits/stdc++.h>usingnamespacestd;intmain(){string a;cin>>a;cout<<a;return0;}

这就是理解的唯一难点了。

B

这道题要求a , b , x ≤ 10 18 a,b,x\leq 10^{18}a,b,x1018,所以本题不能使用任何循环结构,不然有可能导致本题的时间复杂度变为O ( n ) O(n)O(n),其中n nn的数量级为n ≤ 10 18 n\leq 10^{18}n1018
但是循环结构我们也要试一试,毕竟确实可以很好的练习一下。
思路很简单,就是从头到尾枚举一遍。

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;ll a,b,x,ans;intmain(){cin>>a>>b>>x;for(ll i=a;i<=b;i++)if(i%x==0)ans++;cout<<ans;return0;}

还有一种循环,是稍微剪了剪枝的版本,思路就是有总个数 x \frac{\text{总个数}}{x}x总个数个在后半段区间内的满足条件的个数,再找到前面一部分区间里的个数,相加即可。

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;ll a,b,x,ans;intmain(){cin>>a>>b>>x;if(a==b)cout<<(a%x==0);else{ll num=b-a+1;while(num%x!=0){if(a%x==0)ans++;a++,num--;}ans+=num/x;cout<<ans;}return0;}

最后就是正确答案,这个其实是前缀和的思路,求一段区间[ a , b ] [a,b][a,b]里满足条件的个数,即求[ 0 , b ] [0,b][0,b]中满足条件的个数去掉[ 0 , a − 1 ] [0,a-1][0,a1]中满足条件的个数。于是就出了结论。注意特判a = 0 a=0a=0的情况,此时就不会有[ 0 , a − 1 ] [0,a-1][0,a1]这个区间了。

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;intmain(){ll a,b,x;cin>>a>>b>>x;if(a==0)cout<<b/x+1;elsecout<<b/x-(a-1)/x;return0;}

C

简单地按照题意模拟即可,找到每组两个数的差,使用差分的方法解题。

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;ll n,x,a[100009],ans;intmain(){cin>>n>>x;for(ll i=0;i<n;i++)cin>>a[i];for(ll i=0;i<n;i++)if(a[i]>x)ans+=a[i]-x,a[i]=x;for(ll i=0;i<n-1;i++)if(a[i]+a[i+1]>x){ll t=a[i]+a[i+1]-x;ans+=t,a[i+1]-=t;}cout<<ans;return0;}

D

没啥好说的,纯纯找规律题,跟出题人脑电波对上才能做。快捷一点的办法就是直接手动模拟样例,找出规律就行,注意边界情况。

#include<bits/stdc++.h>usingnamespacestd;intmain(){string s;cin>>s;intn=s.size();if(s[0]!=s[n-1])cout<<"First";else{if(n%2)cout<<"Second";elsecout<<"First";}return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/6 6:33:11

从信号处理到推荐系统:聊聊稀疏贝叶斯那些意想不到的落地场景

从信号处理到推荐系统&#xff1a;稀疏贝叶斯的跨界实战手册 当医疗影像科的张医生第一次看到AI系统在10秒内完成传统需要半小时的MRI图像重建时&#xff0c;他下意识地看了看腕表确认时间。这个由某顶尖医学院开发的智能诊断系统&#xff0c;核心算法既不是时下流行的深度神经…

作者头像 李华
网站建设 2026/5/6 6:25:29

【YOLOv11】097、YOLOv11学术研究:如何阅读论文、复现实验与发表工作

从一次失败的复现说起 上周有个学生发来邮件,说复现某篇YOLO改进论文时mAP死活差3个点,代码和论文配置一模一样。我让他把训练日志发过来,扫了一眼就发现问题:他用的数据增强和论文里写的“基本一致”,但概率参数少设了0.1——就这0.1,让随机裁剪的覆盖率差了近10%。 这…

作者头像 李华
网站建设 2026/5/6 6:05:48

别再让触摸板失灵了!FPC柔性电路板布线避坑指南(附PCB设计实例)

FPC柔性电路板触摸板布线实战&#xff1a;从原理到避坑的全方位指南 触摸板作为现代电子设备中最直观的人机交互界面之一&#xff0c;其可靠性直接影响用户体验。在智能手表、折叠屏手机等紧凑型设备中&#xff0c;FPC柔性电路板因其独特的柔韧特性成为触摸板设计的首选载体。然…

作者头像 李华
网站建设 2026/5/6 6:02:42

AI训练GPU选型指南:算力梯队与任务匹配

AI训练硬件选型&#xff1a;GPU算力梯队与任务匹配指南技术文章大纲核心概念&#xff1a;GPU算力评估维度CUDA核心数/Tensor核心数显存容量与带宽&#xff08;HBM2 vs GDDR6&#xff09;FP32/FP16/TFLOPS理论性能典型功耗与散热需求当前主流GPU算力梯队划分&#xff08;2023&am…

作者头像 李华