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. 《深入理解Java虚拟机》读书笔记:垃圾收集算法

    由于垃圾收集算法的实现涉及大量的程序细节,而且各个平台的虚拟机操作内存的方法又各不相同,因此本节不打算过多地讨论算法的实现,只是介绍几种算法的思想及其发展过程. 垃圾收集算法概要 1. 标记-清除算法 ...

  2. 记一次Android项目升级Kotlin版本(1.5 -> 1.7)

    原文地址: 记一次Android项目升级Kotlin版本(1.5 -> 1.7) - Stars-One的杂货小窝 由于自己的历史项目Kotlin版本比较老了,之前已经升级过一次了(1.4-&g ...

  3. Matlab机器人工具箱安装教程

    参考以下博客 https://blog.csdn.net/AprilsHell/article/details/90722892

  4. [PWN之路]堆攻击那些事儿

    原文:https://www.freebuf.com/articles/endpoint/371095.html 0x00 前言 根据某大佬所说,pwn之路分为栈,堆,和内核.当前,如果你看到这个文章 ...

  5. [ABC128D] equeue

    2023-01-14 题目 题目传送门 翻译 翻译 难度&重要性(1~10):4 题目来源 AtCoder 题目算法 暴力,贪心 解题思路 由题意可以得出,数据只有 \(n \leq 50,k ...

  6. 《CTFshow-Web入门》07. Web 61~70

    @ 目录 web61~65 题解 web66 题解 原理 web67 题解 原理 web68 题解 原理 web69 题解 原理 web70 题解 原理 ctf - web入门 web61~65 题解 ...

  7. nginx ServerName匹配规则

    1.同一个主机配置不同端口,访问不同资源 worker_processes 1; events { worker_connections 1024; } http { include mime.typ ...

  8. Teamcener AWC Solr链接被拒

    1.检查安装Solr安装情况 2.在tem上勾选添加 安装完成后,总共有2个文件夹需要注意,一个 solr-版本 的文件夹,一个 TcFTSindexer 的文件夹 如果是solr安装的是服务,则不需 ...

  9. HarmonyOS 4.0 实况窗上线!支付宝实现医疗场景智能提醒

    本文转载自支付宝体验科技,作者是蚂蚁集团客户端工程师博欢,介绍了支付宝如何基于 HarmonyOS 4.0 实况窗实现医疗场景履约智能提醒. 1.话题背景 8 月 4 日,华为在 HDC(华为 202 ...

  10. getchar()和putchar()

    #include <stdio.h> #include <stdlib.h> int main() { char ch; /*.putchar() a. putchar函数的格 ...