Atcoder Beginner Contest 366
传送门
A - Election 2
时间限制:2秒 内存限制:1024MB
分数:100分
问题描述
在 AtCoder 市举行市长选举。候选人是 Takahashi 和 Aoki。
目前有 N 张有效选票投给了这两个候选人,并且计票正在进行中。这里,N 是一个奇数。
目前的票数为 Takahashi 得 T 票,Aoki 得 A 票。
确定在这个时候选举的结果是否已经确定。
限制
- N 是奇数
- 所有输入都是整数
输入格式
输入以以下格式从标准输入给出:
输出格式
如果选举结果已经确定,则输出“Yes”,否则输出“No”。
样例输入输出
样例输入1
样例输出1
即使剩下的一票投给 Aoki,Takahashi 仍然会获胜。也就是说,他的胜利已经确定,所以打印“Yes”。
样例输入2
样例输出2
虽然 Aoki 目前获得的票数更多,但如果 Takahashi 获得剩下的39票,他就会获胜。因此,打印“No”。
样例输入3
样例输出3
思路
只有 T 或者 A 大于等于 N 的一半的时候输出 Yes,否则输出 No。
代码
#include <bits/stdc++.h>
using namespace std;inline int read() {int x = 0, f = 1; char c = getchar();while (c < '0' || c > '9') { if (c == '-') f = -1; c = getchar(); }while (c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();return x * f;
}int main() {int n = read(), t = read(), a = read();if (t > n / 2 || a > n / 2) puts("Yes");else puts("No");return 0;
}
B - Vertical Writing
时间限制:2秒 内存限制:1024MB
分数:200分
问题描述
给定一个水平书写的文本,将其转换为垂直书写,并用 * 填充空白。
你有 N 个字符串 ,它们由小写英文字母组成。令 M 为这些字符串的最大长度。
请打印 M 个字符串 ,满足以下条件:
1. 每个 由小写英文字母和 * 组成。
2. 每个 的末尾不应为 *。
3. 对于每一个 1 ≤ i ≤ N,满足以下条件:
对于每一个 1 ≤ j ≤ ∣∣,
的第 (N - i + 1) 个字符存在,并且
的第 (N - i + 1) 个字符依次连接等于
。
对于 ∣∣+1 ≤ j ≤ M,
的第 (N - i + 1) 个字符要么不存在,要么为 *。
这里,∣∣表示字符串
的长度。
限制
- N 是一个在 1 到 100 之间(包括 1 和 100)的整数。
- 每个
是一个由小写英文字母组成的字符串,长度在 1 到 100 之间(包括 1 和 100)。
输入格式
输入以以下格式从标准输入给出:
输出格式
按照以下格式打印答案:
样例输入输出
样例输入1
样例输出1
将 * 作为 的第 2 个字符放置,可以将 c 放在正确的位置。另一方面,将 * 作为
的第 2 和第 3 个字符放置会使
以 * 结尾,这违反了条件。
样例输入2
样例输出2
思路
按照题意模拟
代码
#include <bits/stdc++.h>
using namespace std;int n, len = 0;
string s[105];int main() {ios::sync_with_stdio(false); cin.tie(0);cin >> n;for (int i = 1; i <= n; i++) {cin >> s[i];int size = s[i].size();len = max(len, size); // 记录最大长度}for (int i = 0; i < len; i++) {int num = 0;for (int j = n; j; j--) {int size = s[j].size();if (i < size) {for (int i = 1; i <= num; i++) putchar('*');num = 0;putchar(s[j][i]);}else num++; // 避免*出现在字符串末尾}putchar('\n');}return 0;
}
C - Balls and Bag Query
时间限制:2秒 内存限制:1024MB
分数:300分
问题描述
你有一个空袋子。你需要处理 Q 个查询,这些查询必须按顺序进行。
查询有三种类型:
1. 1 x:将一个写有整数 x 的球放入袋子。
2. 2 x:从袋子中移除一个写有整数 x 的球并丢弃。保证在执行此查询时,袋子中有一个写有整数 x 的球。
3. 3:打印袋子中球上写着的不同整数的数量。
限制
- 当给出第二类查询时,袋子中有一个写有整数 x 的球。
- 至少有一个第三类查询。
- 所有输入值均为整数。
输入格式
输入以以下格式从标准输入给出:
第 i 个查询 以以下三种格式之一给出:
输出格式
如果有 K 个第三类查询,打印 K 行。第 i 行 () 应包含第 i 个第三类查询的答案。
样例输入输出
样例输入1
样例输出1
初始时,袋子是空的。
对于第一个查询 1 3,一个写有整数 3 的球进入袋子。
对于第二个查询 1 1,一个写有整数 1 的球进入袋子。
对于第三个查询 1 4,一个写有整数 4 的球进入袋子。
对于第四个查询 3,袋子里有写有整数 1、3、4 的球,因此输出 3。
对于第五个查询 2 1,一个写有整数 1 的球从袋子中被移除。
对于第六个查询 3,袋子里有写有整数 3、4 的球,因此输出 2。
对于第七个查询 1 5,一个写有整数 5 的球进入袋子。
对于第八个查询 3,袋子里有写有整数 3、4、5 的球,因此输出 3。
样例输入2
样例输出2
思路
用数组记录写有 x 的球个数,同时记录有多少种不同的球。
代码
#include <bits/stdc++.h>
using namespace std;const int N = 1e6 + 10;
int q, vis[N], num = 0;inline int read() {int x = 0, f = 1; char c = getchar();while (c < '0' || c > '9') { if (c == '-') f = -1; c = getchar(); }while (c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();return x * f;
}int main() {for (int i = 0; i <= 1000000; i++) vis[i] = 0;q = read();for (int i = 1; i <= q; i++) {int opt = read();if (opt == 3) printf("%d\n", num);else {int x = read();if (opt == 1) {if (!vis[x]) num++;vis[x]++;}if (opt == 2) {vis[x]--;if (!vis[x]) num--;}}}return 0;
}
D - Cuboid Sum Query
时间限制:3秒 内存限制:1024MB
分数:400分
问题描述
给定一个正整数 N,以及每个整数三元组 (x, y, z) 对应的整数 ,其中 1 ≤ x, y, z ≤ N。
你将会收到 Q 个查询,必须按顺序处理。
对于第 i 个查询 (1 ≤ i ≤ Q),你将得到一个整数元组 ,其中
。要求找到以下和:
限制
- 所有输入都是整数
输入格式
输入以以下格式从标准输入给出:
输出格式
打印 Q 行。第 i 行应包含第 i 个查询的答案。
样例输入输出
样例输入1
样例输出1
对于第一个查询,所求的值是 。因此,输出 10。
对于第二个查询,所求的值是 。因此,输出 26。
样例输入2
样例输出2
思路
三维数组的前缀和,具体实现看代码
代码
#include <bits/stdc++.h>
using namespace std;#define int long longconst int N = 105;
int n, q, a[N][N][N], b[N][N], sum[N][N][N];inline int read() {int x = 0, f = 1; char c = getchar();while (c < '0' || c > '9') { if (c == '-') f = -1; c = getchar(); }while (c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();return x * f;
}signed main() {n = read();for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {for (int k = 1; k <= n; k++) {a[i][j][k] = read();b[i][j] += a[i][j][k];sum[i][j][k] = sum[i - 1][j][k] + sum[i][j - 1][k] - sum[i - 1][j - 1][k] + b[i][j];}}}q = read();while (q--) {int l1 = read(), r1 = read(), l2 = read(), r2 = read(), l3 = read(), r3 = read();l1--, l2--, l3--;int ans = sum[r1][r2][r3] - sum[l1][r2][r3] - sum[r1][l2][r3] - sum[r1][r2][l3] + sum[l1][l2][r3] + sum[l1][r2][l3] + sum[r1][l2][l3] - sum[l1][l2][l3];printf("%lld\n", ans);}return 0;
}
相关文章:
Atcoder Beginner Contest 366
传送门 A - Election 2 时间限制:2秒 内存限制:1024MB 分数:100分 问题描述 在 AtCoder 市举行市长选举。候选人是 Takahashi 和 Aoki。 目前有 N 张有效选票投给了这两个候选人,并且计票正在进行中。这里࿰…...
【hexo博客问题】
windows下使用gitbash即可使用 其他bash会产生权限问题 npm install失败 $ npm install npm error code ENOENT npm error syscall open npm error path F:\pf_project\blog_pf\package.json npm error errno -4058 npm error enoent Could not read package.json: Error: E…...

用数组模拟栈和队列
栈 先进后出 //stk 表示定义的栈 //tt表示栈顶的下标 int stk[N], tt 0;//在栈顶上加入一个新的元素 stk[ tt] x;//弹出 tt --;//判断栈是否为空 if (tt > 0) 不为空 else empty//取出栈顶 stk[tt];1.题目 给定一个长度为 N 的整数数列,输出每个数左边第一个…...

Django内置后端和自定义后端
【图书介绍】《Django 5企业级Web应用开发实战(视频教学版)》_django 5企业级web应用开发实战(视频教学版)-CSDN博客 《Django 5企业级Web应用开发实战(视频教学版)》(王金柱)【摘要 书评 试读】- 京东图书 (jd.com) 5.2.3 内置…...

嵌入式人工智能(OpenCV-基于树莓派的人脸识别与入侵检测)
1、人脸识别 人脸识别是一种技术,通过检测、跟踪和识别人脸上的关键特征,以确认人脸的身份。它通常用于安保系统、身份验证、社交媒体和人机交互等领域。 人脸识别技术的基本原理是先通过图像处理和计算机视觉算法,提取人脸的特征点和特征描…...
如何选择适合的香港云服务器提供商?
稳定性和可靠性 确保提供商有高水平的服务器正常运行时间,并提供可靠的数据备份和恢复选项。 网络速度和延迟 选择能够提供快速和低延迟网络连接的服务商,尤其是对于目标用户位于中国大陆的企业而言。 客户支持 查看提供商是否提供24/7的客户支持&#x…...
安卓Android JAVA校招/实习面试合集:多线程、强软弱虚引用、进程、内存管理、Activity、Fragment......
本人今年(2023年)参加了很多面试,也有幸拿到了一些大厂的offer,整理了众多面试资料,后续还会分享众多面试资料。 整理成了面试系列,由于时间有限,每天整理一点,后续会陆续分享出来&a…...
Jeecgboot 字典值自动转化:DictAspect类方法改造,支持IPage、List、Object、Map类自动转化,附有源码
改造的是DictAspect类: 原来使用的 parseDictText(Object result)方法,针对返回对象为Result 的IPage的分页列表数据进行动态字典注入,当单个对象查询,列表查询,或者多个数据放到Map中时,就不会自动转化&am…...

DVWA DOM Based Cross Site Scripting (DOM型 XSS)
DVWA DOM Based Cross Site Scripting (DOM型 XSS) 文章目录 DVWA DOM Based Cross Site Scripting (DOM型 XSS)XSS跨站原理DOM型 LowMediumHighImpossible XSS跨站原理 当应用程序发送给浏览器的页面中包含用户提交的数据,但没有经过适当验证或转义时,就…...

LinkedList集合及迭代器的源码分析
一.介绍: 二.LinkedList集合特有的API: 三.迭代器的源码分析: package com.itheima.a03myarraylist;import java.util.ArrayList; import java.util.Iterator;public class A01_ArrayListDemo1 {public static void main(String[] args) {ArrayList<String> listnew Arr…...

Go调度器
线程数过多,意味着操作系统会不断地切换线程,频繁的上下文切换就成了性能瓶颈.Go提供一种机制 可以在线程中自己实现调度,上下文切换更轻量,从而达到线程数少,而并发数并不少的效果,而线程中调度的就是Goroutine 调度器主要概念: 1.G:即Go协程,每个go关键字都会创建一个协程…...
当node节点kubectl 命令无法连接到 Kubernetes API 服务器
1.问题 当node节点当node节点kubectl 命令无法连接到 Kubernetes API 服务器 [rootnode1 ~]# kubectl get nodes The connection to the server localhost:8080 was refused - did you specify the right host or port?2. 确认 kubeconfig 文件 确保节点上有有效的 kubeco…...

直接通过类CURL方式,与GRPC方法交互的命令行工具
大家好,今天给大家分享的是一个命令行工具grpcurl,它能够直接与 gRPC 服务进行交互。 项目介绍 您可以把grpcurl想象成是 curl 的 gRPC 版本,但是功能更加强大。 由于 gRPC 服务之间的通信使用的是 Protocol Buffers (Protobuf) 格式的二进…...

Hive3:数据的加载与导出
一、加载数据 在创建表之后,表中没有数据,我们不可能insert存入数据。 而是,通过数据加载,将HDFS中的数据关联到Hive表中。 建表 CREATE TABLE myhive.test_load(dt string comment 时间(时分秒), user_…...
React事件绑定的方式有哪些?区别?
React 中事件绑定的方式主要有以下几种: 直接在 JSX 中绑定事件: <button onClick{handleClick}>Click me</button> 这是最常见和推荐的方式。事件名(如 onClick)作为 JSX 的属性,值为一个函数,…...

ibis:极具潜力的Python数据分析新框架
今天要给大家介绍的Python框架叫做ibis,没错,跟著名连锁酒店宜必思同名,其作者是创造了pandas、Arrow等著名框架的Wes McKinney。 ibis的核心理念是用同一套数据框操作API,统一操纵各种主流的数据运算框架,使得用户可以…...

SQL Zoo 8+.NSS Tutorial
以下数据来自SQL Zoo 1.at Edinburgh Napier University,studying (8) Computer Science,Show the the percentage who STRONGLY AGREE.(在爱丁堡纳皮尔大学,学习“计算机科学”,显示STRONGLY AGREE的百分比࿰…...

conda pack迁移环境
文章目录 下载conda pack打包已有环境还原环境 因为有的服务器没有网络,如果想要安装自己的虚拟环境,就需要在有网络的服务器安装好环境后迁移到没有网络的服务器。conda-pack是一个命令行工具,用于打包 conda 环境,pip inatall和…...

UML建模案例分析-活动图商业建模
概述 活动图主要用来描述如何完成工作以及做什么工作。可以用活动图来描述操作、类或 用例,但是它们只能显示工作流。可以用活动图来进行商业建模,在模型中,工作、工 人、组织、对象被显示。 案例 在商业建模时,下列方面是模型要…...
C++标准模板(STL)- 低层内存管理 - 解分配函数 (operator delete, operator delete[])
低层内存管理 new 表达式是创建拥有动态存储期对象或对象数组的仅有方式,即它们拥有不受制于创建所它们在的作用域的生存期。 new 表达式通过调用分配函数获得存储。 delete 表达式销毁最终导出对象或通过 new 表达式创造的数组,然后调用解分配函数。默认…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...

Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...

IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...