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 表达式创造的数组,然后调用解分配函数。默认…...

LeetCode 热题 HOT 100 (025/100)【宇宙最简单版】
【二叉树】No. 0124 二叉树中的最大路径和 【困难】👉力扣对应题目指路 希望对你有帮助呀!!💜💜 如有更好理解的思路,欢迎大家留言补充 ~ 一起加油叭 💦 欢迎关注、订阅专栏 【力扣详解】谢谢你…...

【mysql 第三篇章】一条 update语句是怎么持久化到磁盘上的?
首先看一下这个 SQL 语句你会不会写? 下面是说明执行这个 SQL 语句,数据库底层做了什么操作。 update users set namexxx where id10;在引擎要执行更新语句的时候,比如更新 id10 这行数据时,他会先查看数据在缓冲池中是否存在,如…...

深入探索大模型:从基础到实践,开启AI之旅
摘要: 在人工智能领域,大模型技术正成为推动创新和进步的关键力量。对于初学者而言,掌握大模型的基本概念、理论和技术是至关重要的。 本文将为你提供一个全面的学习路线,帮助你从基础知识出发,逐步深入到大模型的实践…...

题解:力扣1567 - 返回乘积为正数的最长子数组
问题描述 给定一个整数数组 nums,找出乘积为正数的最长子数组的长度。这里的子数组定义为连续元素的序列,乘积为正数指子数组中正数的个数必须大于负数的个数。 解题思路 为了解决这个问题,我们可以使用两个数组 f 和 g 分别表示以当前位置…...

009 | 上证50ETF基金数据分析及预测
项目背景 中国股市的发展历程坎坷,从最初的茫然到现在的逐步成熟,股市已经成为中国经济发展的重要标志之一。然而,当前中国股市仍存在投机行为过度和定价机制不完善等问题。为更好地理解和预测股市走势,本项目聚焦于上证50ETF基金的历史数据分析和未来走势预测。 项目目标…...

Wakanda: 1靶场复现【附代码】(权限提升)
靶机下载地址: wakanda: 1 ~ VulnHubwakanda: 1, made by xMagass. Download & walkthrough links are available.https://www.vulnhub.com/entry/wakanda-1,251/#download 1. 主机发现端口扫描目录扫描敏感信息获取 1.1. 主机发现 nmap -sn 192.168.7.0/24…...

内核函数调试
要进入 bind 函数的内部进行调试,实际上是不能直接在用户空间代码中进入内核内部的 bind 实现,因为 bind 是一个系统调用,它由内核处理。尽管如此,你可以通过以下几种方法来间接调试 bind 函数并理解它的行为: 1. 使用…...

Spring IOC使用DButil实现对数据库的操作
一、DButil、lombok、junit的简单介绍 1.dbutil dbutil是由阿帕奇提供操作数据库的插件,其核心类为QueryRunner,存在方法 .query() 查询,.update() 增删改; <!-- dbutil --> <dependency><groupId>commons-d…...

Android14音频进阶调试之命令播放mp3/aac非裸流音频(八十)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【原创干货持续更…...

vue中怎么自定义组件
目录 一:功能描述 二:实现过程 一:功能描述 在开发过程中我们经常需要自定义组件完成特定的功能,比如用户详情页,我增加一个调整余额的按钮,点击以后需要打开一个调整余额对话框,输入调整的金…...