A - Not Too Hard

题目链接

题目大意

给出\(N\)个数(\(S_1\) \(S_2\)...\(S_n\))和一个\(X\),输出所有小于等于\(X\)的\(S_i\)之和

解题思路

循环遍历每一个\(S_i\)并判断是否大于\(X\)

代码

// Problem: A - Not Too Hard
// Contest: AtCoder - Toyota Programming Contest 2023#7(AtCoder Beginner Contest 328)
// URL: https://atcoder.jp/contests/abc328/tasks/abc328_a
// Memory Limit: 1024 MB
// Time Limit: 2000 ms #include<bits/stdc++.h>
using namespace std;
int n,t,x,sum;
int main(){
cin>>n>>x;
for(int i=1;i<=n;i++){
int t;cin>>t;
if(t<=x)
sum+=t;
}
cout<<sum;
return 0;
}

B - 11/11

题目链接

题目大意

AtCoder的国王使用一个包含\(N\)个月的日历,第\(i\)个月有\(D_i\)天。有多少天的月和日能用同一个十进制数表示出来?

举个例子:

这里是一些符合要求的日期:1.1 , 1.11 , 2.2 ,11.1

一些不符合要求的日期:1.2 , 4.3 , 10.10(用了1和0两个数) , 12.12(用了1和2两个数)

解题思路

可以通过取余和整除判断月和日每一位都相等

代码

// Problem: B - 11/11
// Contest: AtCoder - Toyota Programming Contest 2023#7(AtCoder Beginner Contest 328)
// URL: https://atcoder.jp/contests/abc328/tasks/abc328_b
// Memory Limit: 1024 MB
// Time Limit: 2000 ms #include<bits/stdc++.h>
using namespace std;
int n,ans;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
int t;cin>>t;
if(i<10||i%10==i/10)
for(int j=1;j<=t;j++){
int f=1;
int x=j;
while(x){
if(x%10!=i%10){
f=0;
break;
}
x/=10;
}
ans+=f;
}
}
cout<<ans;
return 0;
}

C - Consecutive

题目链接

题目大意

给出\(N,Q\)以及一个长度为\(N\)的字符串\(S\),接下来是

\(l_1,r_1\)

\(l_2,r_2\)

\(\vdots\,\,\,\,\,\,\,\vdots\)

\(l_q,r_q\)

要求对于每一组\(l_i,r_i(1 \le i \le q)\),输出在有多少个\(S_j(l \le j \le r-1)\)满足\(S_j=S_{j+1}\)

解题思路

没错,就是它:前缀和。定义一个前缀和数组\(sum,sum_i\)表示从\(S_1\)到\(S_i\)有多少个满足,\(O(N)\)初始化\(sum\)之后\(O(Q)\)输出就好了

代码

// Problem: C - Consecutive
// Contest: AtCoder - Toyota Programming Contest 2023#7(AtCoder Beginner Contest 328)
// URL: https://atcoder.jp/contests/abc328/tasks/abc328_c
// Memory Limit: 1024 MB
// Time Limit: 2000 ms #include<bits/stdc++.h>
using namespace std;
int n,q;
int sum[300005];
string s;
int main(){
cin>>n>>q>>s;
s=" "+s;
for(int i=1;i<n;i++){
if(s[i]==s[i+1])
sum[i]++;
sum[i]+=sum[i-1];
}
for(int i=1;i<=q;i++){
int l,r;cin>>l>>r;
cout<<sum[r-1]-sum[l-1]<<endl;
}
return 0;
}

D - Take ABC

题目链接

非常好题目,这令我大脑停转!

随机推荐

  1. Hybrid App 技术路径带动性能的提升

    说到 Hybrid App(混合应用)大家都不陌生,因为这种开发模式大行其道发展的这些年取代了很多原生和 Web 应用,为什么大家对这种「Native + HTML5」的开发模式额外偏爱呢? 因为一方 ...

  2. 使用C#创建安装Windows服务程序(最全教程)

    开发语言:C# 开发环境: Visual Studio 2022 微软官方文档:https://learn.microsoft.com/zh-cn/dotnet/framework/windows-s ...

  3. 【pandas小技巧】--统计值作为新列

    这次介绍的小技巧不是统计,而是把统计结果作为新列和原来的数据放在一起.pandas的各种统计功能之前已经介绍了不少,但是每次都是统计结果归统计结果,原始数据归原始数据,没有把它们合并在一个数据集中来观 ...

  4. Web服务器部署上线的踩坑流程回顾与知新

    5月份时曾部署上线了C++的Web服务器,温故而知新,本篇文章梳理总结一下部署流程知识: 最初的解决方案:https://blog.csdn.net/BinBinCome/article/detail ...

  5. Dynamics 365 自定义渠道的步骤

    1.创建2个实体:渠道[new_flashinfosmschannel].消息模板(配置窗体)注意:如果想用标准消息模板,可以不用创建消息模板 标准消息模板效果: 2.导出解决方案,往XML增加一个关 ...

  6. ios添加库文件

  7. k8s 入门到实战--部署应用到 k8s

    背景 最近这这段时间更新了一些 k8s 相关的博客和视频,也收到了一些反馈:大概分为这几类: 公司已经经历过服务化改造了,但还未接触过云原生. 公司部分应用进行了云原生改造,但大部分工作是由基础架构和 ...

  8. [htmlayout] csss! 改变值/文本

    <input type="text" value="123" /> <div class="test">内容内容&l ...

  9. 基于 ActionFilters 的限流库DotNetRateLimiter使用

    前言 在构建API项目时,有时出于安全考虑,防止访问用户恶意攻击,希望限制此用户ip地址的请求次数,减轻拒绝服务攻击可能性,也称作限流.接下来,我们就来学习开源库DotNetRateLimiter 如 ...

  10. C++20起支持的一个小特性

    注释掉的为传统的写法,从C++20起支持default关键字修饰的写法,即使是成员变量有多个的时候也支持,减轻了程序员的心智负担.