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. 《SQL与数据库基础》21. 分库分表(一)

    目录 分库分表(一) 拆分策略 垂直拆分 垂直分库 垂直分表 水平拆分 水平分库 水平分表 技术实现 MyCat概述 概念介绍 环境准备 目录介绍 MyCat入门 配置 分片配置(schema.xml ...

  2. 干掉 CRUD!这个API开发神器效率爆炸,无需定义MVC类!!

    简介 magic-api 能够只通过 UI 界面就能完成简单常用的接口开发,能够支持市面上多数的关系性数据库,甚至还支持非关系性数据库 MongoDB. 通过 magic-api 提供的 UI 界面完 ...

  3. 白盒AES和SM4实现的差分故障分析

    DFA攻击背景介绍 传统的密码安全性分析环境被称为黑盒攻击环境,攻击者只能访问密码系统的输入与输出,但随着密码系统部署环境的多样化,该分析模型已经不能够反映实际应用中攻击者的能力.2002年,Chow ...

  4. pandas常用的数据类型,(serises和dataform)

  5. fmt 库简介和示例【GO 基础】

    〇.关于 fmt fmt 标准库是 Go 语言标准库的一部分,提供了格式化字符串.输入输出等基本功能.通过 fmt 库,我们可以进行简单的格式化输出.读取用户输入.错误输出等操作. fmt 库实现了类 ...

  6. Elasticsearch 6.8.6

    mac;centos;unix;  下载 wget  https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.6. ...

  7. Go泛型解密:从基础到实战的全方位解析

    本篇文章深入探讨了Go语言的泛型特性,从其基础概念到高级用法,并通过实战示例展示了其在实际项目中的应用. 关注[TechLeadCloud],分享互联网架构.云服务技术的全维度知识.作者拥有10+年互 ...

  8. Window10安装linux子系统及子系统安装1Panel面板

    原文地址:Window10安装linux子系统及子系统安装1Panel面板 - Stars-One的杂货小窝 最近看到halo博客发布了2.10.0,终于是新增了个备份功能,于是有了念头想要升级下 但 ...

  9. 【sqli-labs】学习--待续

    预备知识: 数字型注入: 这种sql语句中处理的是整型,不需要使用单引号来闭合变量的值. 首先输入id=1',此时因为不是整型,sql语句会执行出错,抛出异常. 然后输入id=1 and 1=1,此时 ...

  10. 语雀崩了,免费送VIP6个月,赶紧薅!!

    一.前言 在一个无聊的周一,下午浑浑噩噩的时候,一条公众号信息引起我的关注. 什么东西?语雀这种量级的产品也能崩? 看了一下还真是官方公众号发的!! 心里不由得出现,完蛋整个团队要打包遣散了. 其实小 ...