AtCoder_abc328
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
题目链接
非常好题目,这令我大脑停转!
随机推荐
- 《SQL与数据库基础》21. 分库分表(一)
目录 分库分表(一) 拆分策略 垂直拆分 垂直分库 垂直分表 水平拆分 水平分库 水平分表 技术实现 MyCat概述 概念介绍 环境准备 目录介绍 MyCat入门 配置 分片配置(schema.xml ...
- 干掉 CRUD!这个API开发神器效率爆炸,无需定义MVC类!!
简介 magic-api 能够只通过 UI 界面就能完成简单常用的接口开发,能够支持市面上多数的关系性数据库,甚至还支持非关系性数据库 MongoDB. 通过 magic-api 提供的 UI 界面完 ...
- 白盒AES和SM4实现的差分故障分析
DFA攻击背景介绍 传统的密码安全性分析环境被称为黑盒攻击环境,攻击者只能访问密码系统的输入与输出,但随着密码系统部署环境的多样化,该分析模型已经不能够反映实际应用中攻击者的能力.2002年,Chow ...
- pandas常用的数据类型,(serises和dataform)
- fmt 库简介和示例【GO 基础】
〇.关于 fmt fmt 标准库是 Go 语言标准库的一部分,提供了格式化字符串.输入输出等基本功能.通过 fmt 库,我们可以进行简单的格式化输出.读取用户输入.错误输出等操作. fmt 库实现了类 ...
- Elasticsearch 6.8.6
mac;centos;unix; 下载 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.6. ...
- Go泛型解密:从基础到实战的全方位解析
本篇文章深入探讨了Go语言的泛型特性,从其基础概念到高级用法,并通过实战示例展示了其在实际项目中的应用. 关注[TechLeadCloud],分享互联网架构.云服务技术的全维度知识.作者拥有10+年互 ...
- Window10安装linux子系统及子系统安装1Panel面板
原文地址:Window10安装linux子系统及子系统安装1Panel面板 - Stars-One的杂货小窝 最近看到halo博客发布了2.10.0,终于是新增了个备份功能,于是有了念头想要升级下 但 ...
- 【sqli-labs】学习--待续
预备知识: 数字型注入: 这种sql语句中处理的是整型,不需要使用单引号来闭合变量的值. 首先输入id=1',此时因为不是整型,sql语句会执行出错,抛出异常. 然后输入id=1 and 1=1,此时 ...
- 语雀崩了,免费送VIP6个月,赶紧薅!!
一.前言 在一个无聊的周一,下午浑浑噩噩的时候,一条公众号信息引起我的关注. 什么东西?语雀这种量级的产品也能崩? 看了一下还真是官方公众号发的!! 心里不由得出现,完蛋整个团队要打包遣散了. 其实小 ...