AtCoder Regular Contest 137 题解(A~C)
A-Coprime Pair
思路
我们知道两个质数之间并不会相隔太远,于是我们直接用暴力就可以通过这题。
先从大到小枚举答案,并且枚举所有可能的起点,当枚举到的两个值满足条件输出并结束程序即可。
代码
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
LL x, y, ans;
LL gcd(LL a, LL b) { return b == 0 ? a : gcd(b, a % b); }
int main() {scanf("%lld%lld", &x, &y);for (LL i = y - x; i; i--) {for (LL j = x; j + i <= y; j++) {if (gcd(j, j + i) == 1) {printf("%d", i);return 0;}}}return 0;
}
B-Count 1’s
思路
假设我们所能得到的分数的最大值为 ansmaxansmaxansmax ,最小值为 ansminansminansmin ,则答案一定为 max−min+1max - min + 1max−min+1 ,因为每次多改变一个节点,所能取到的分数只会改变一,在整数情况下看他是连续的。
再稍微转换一下,就会发现,其实也就是求变换之后所能对原分数产生的改变的最大值和最小值的差。
于是我们将问题变为了如何求改变的最大值和最小值。
我们先将原数组按一下方式处理:
- 如果 aia_iai 为 111 ,则将 bib_ibi 设为 −1-1−1
- 如果 aia_iai 为 000 ,则将 bib_ibi 设为 111
此时的 bbb 数组记录的就是如果改变这个节点,会对当前分数产生的影响。
我们再将 bbb 数组取一个前缀和,此时 bbb 数组表示的就是从第一个节点到这个节点全部改变对分数产生的影响。
我们记录一个从起点开始改变,所能得到分数的最大值为 maxnmaxnmaxn ,最小值为 minnminnminn 。
我们从一开始枚举,对于每个节点,我们都将 ansmaxansmaxansmax 和 ansminansminansmin 更新一下,然后更新一下 maxnmaxnmaxn 和 minnminnminn 就可以了。
更新方式看代码。
代码
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int n, a[300005], b[300005], maxn, minn, ansmax, ansmin;
int main() {scanf("%d", &n);for (int i = 1; i <= n; i++)scanf("%d", &a[i]), b[i] = b[i - 1] + (a[i] == 0 ? 1 : -1);for (int i = 1; i <= n; i++) {ansmax = max(ansmax, b[i] - minn);//b[i]-minn就是以当前节点为结尾所能产生的最大值ansmin = min(ansmin, b[i] - maxn);//b[i]-maxn就是以当前节点为结尾所能产生的最小值maxn = max(maxn, b[i]);minn = min(minn, b[i]);}printf("%d", ansmax - ansmin + 1);return 0;
}
C-Distinct Numbers
思路
我们先看最大两个点。
然后我们分情况讨论。
首先假设两个点之间的距离超过 111 ,此时如果我们将最大值移到次大值加一的位置后,我们必赢,则就移过去。
如果我们必输呢?
因为我们移到次大值加一后,对方必须移到前面一个空位处,我们假设对方移到一个点 aaa 后我们必输,则我们第一次移动就不移到次大值加一,直接移到点 aaa ,此时的局面和我们移到次大值加一的位置然后对方再移到点 aaa 是一样的,因为这个局面先手的人必败,所以我们移到点 aaa 后对方必败。
通过上面两种情况,我们知道如果最大值和次大值之间的差大于一,则无论如何先手必胜。
我们再看看最大值和次大值之间的差等于一的时候。
因为如果我们移到一个位置使得移完后这个节点到最大值之间有空格,此时就会回到我们先前讨论的情况,这是对方是必胜的。
于是我们和对方的每次移动都得要移到前面离最大值最近的空格。
于是我们可以根据空格数来判断谁赢。
如果空格数是偶数,则最后一下是对方移动,那我们必输。
如果空格数是奇数,则最后一下是我们移动,那我们必赢。
于是我们就可以做这道题了。
代码
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int n, m, a[3000005];
int main() {scanf("%d", &n);for (int i = 1; i <= n; i++) scanf("%d", &a[i]);if (a[n] - a[n - 1] > 1)printf("Alice");else {if ((a[n] - n) % 2)//a[n]-n就相当于空格数printf("Bob");elseprintf("Alice");}return 0;
}
相关文章:
AtCoder Regular Contest 137 题解(A~C)
A-Coprime Pair 思路 我们知道两个质数之间并不会相隔太远,于是我们直接用暴力就可以通过这题。 先从大到小枚举答案,并且枚举所有可能的起点,当枚举到的两个值满足条件输出并结束程序即可。 代码 #include <bits/stdc.h> using n…...
【C语言】预处理指令
C语言预处理指令一、什么是预处理指令二、预处理指令特点三、文件包含四、C标准库<stdio.h>一、什么是预处理指令 C语言的源文件(.c文件)需要经过编译生成可执行程序,编译操作会将源文件转换成目标文件,对于 VC、VS&#x…...
Java基础之多线程JUC全面学习笔记
目录初识多线程多线程的实现方式常见的成员方法线程安全的问题死锁生产者和消费者线程池自定义线程池初识多线程 什么是多线程? 线程 线程是操作系统能够进行运算调度的最小单位。线程被包含在进程之中,是进程中的实际运作单位。 简单理解:应用软件中互相独立&…...
13.CSS文本样式
文本样式 h1 {color: blue; }● 回顾上一节的内容,我们让h1标题的文字变成了蓝色,注意如果html中有多个h1标签,那我们这种写法所有的h1标签都会变成蓝色,除了颜色,本节我们将学习更多的CSS属性 文字大小font-size h…...
西恩科技更新招股书:IPO前大手笔分红“套现”, 赵志安为实控人
2月14日,上海西恩科技股份有限公司(下称“西恩科技”)更新了招股书(申报稿)。据贝多财经了解,西恩科技于2022年8月12日递交上市申请材料,准备在创业板上市,此次是西恩科技第二次更新…...
【CentOS】有关时间的设置
目录环境信息date语法信息查看时间设置时间设置日期tzselecttimedatectl语法显示当前及所有时区修改时区hwclock语法读取硬件时钟使用硬件时钟设置系统时间使用系统时间设置硬件时钟如何理解硬件时钟和系统时钟环境信息 CentOS 7 date 语法信息 date --help用法:…...
OpenCV制作Mask图像掩码
一、掩膜(mask) 在有些图像处理的函数中有的参数里面会有mask参数,即此函数支持掩膜操作,首先何为掩膜以及有什么用,如下: 数字图像处理中的掩膜的概念是借鉴于PCB制版的过程,在半导体制造中&am…...
C++STL剖析(九)—— unordered_map和unordered_multimap的概念和使用
文章目录1. unordered_map的介绍和使用🍑 unordered_map的构造🍑 unordered_map的使用🍅 insert🍅 operator[ ]🍅 find🍅 erase🍅 size🍅 empty🍅 clear🍅 sw…...
Android无菜单键,如何触发onCreateOptionsMenu(Menu menu)
文章目录小结问题及解决无法触发onCreateOptionsMenu(Menu menu)修改配置文件解决使用一个按钮来触发其它办法参考小结 现在的Android有三个键: 任务键,Home键,返回键,也就是没有菜单键了,那么如何如何触发onCreateOp…...
“黑洞”竟是外星人的量子计算机?
宇宙中的黑洞可以用作终极量子计算机,我们可以从中探索它们的特征。(图片来源:网络)我们完全有理由怀疑生命在我们的宇宙中很常见,但是为什么我们从未发现过其他生命存在的迹象?这个问题几乎自现代天文学诞…...
计算机网络入门
一,计算机网络在信息时代中的作用 21世纪的一些重要特征就是数字化,网络化和信息化,它是一个以网络为核心的信息时代。有三类大家很熟悉的网络,即电信网络,有线电视网络和计算机网络。按照最初的服务分工,…...
网络安全-内网DNS劫持-ettercap
网络安全-内网DNS劫持-ettercap 前言 一,我也是初学者记录的笔记 二,可能有错误的地方,请谨慎 三,欢迎各路大神指教 四,任何文章仅作为学习使用 五,学习网络安全知识请勿适用于违法行为 学习网络安全知识请…...
synchronized和Lock的区别
synchronized和lock的区别 synchronized和Lock,我已经通过源码级别的介绍过了,下面我们来总结下他们的区别 区别: 1.synchronized是关键字,Lock是接口,synchronized是JVM层实现,Lock是JDK中JUC包下的实现;…...
SpringBoot 指标监控 Actuator
Spring Boot Actuator为 Micrometer 提供了依赖管理和自动配置,Micrometer是一个支持 众多监控系统 的应用程序指标接口 该功能与:java\jdk\bin 下的 Jconsole 功能雷同 1、pom文件中引入依赖(使用的springboot是2.7.2) <dep…...
面试浅谈之十大排序算法
面试浅谈之十大排序算法 HELLO,各位博友好,我是阿呆 🙈🙈🙈 这里是面试浅谈系列,收录在专栏面试中 😜😜😜 本系列将记录一些阿呆个人整理的面试题 🏃&…...
LeetCode-1250. 检查「好数组」【数论,裴蜀定理】
LeetCode-1250. 检查「好数组」【数论,裴蜀定理】题目描述:解题思路一:裴蜀定理是:a*xb*y1。其中a,b是数组中的数,x,y是任意整数。如果a,b互质那么一定有解。问题即转换为寻找互质的数。解题思路二:简化代码…...
【Linux】NTP时间同步服务与NFS网络文件共享存储服务器(配置、测试)
一、NTP时间同步服务1、NTP介绍NTP服务器【Network Time Protocol(NTP)】是用来使计算机时间同步化的一种协议,它可以使计机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正&a…...
windows下php连接oracle安装oci8扩展报错(PHP Startup: Unable to load dynamic library ‘oci8_11g‘)
记录一下php7.29安装oci8的艰苦过程,简直就是唐僧西天取经历经九九八十一难。 使用的是phpstudy_pro安装的ph扩展wnmp环境下; 1 、安装oralce Instant Client 首先,安装oci8和pdo_oci扩展依赖的Oracle client。了解到需要连接的Oracle版…...
TensorRT的功能
TensorRT的功能 文章目录TensorRT的功能2.1. C and Python APIs2.2. The Programming Model2.2.2. The Runtime Phase2.3. Plugins2.4. Types and Precision2.5. Quantization2.6. Tensors and Data Formats2.7. Dynamic Shapes2.8. DLA2.9. Updating Weights2.10. trtexec本章…...
433MHz无线通信--模块RXB90
1、接收模块RXB90简介 两个数据输出是联通的。 2、自定义一个编码解码规则 组数据为“0x88 0x03 0xBD 0xB6”。 3、发射模块 如何使用示波器得到捕捉一个周期的图像? 通过date引脚连接示波器CH1,以及示波器探针的接地端接芯片的GND,分…...
SCRFD实战:从数据标注到模型训练的全流程指南
1. SCRFD算法基础与场景适配 SCRFD作为轻量级人脸检测算法,最初设计用于输出人脸矩形框及5个关键点(左右眼、鼻尖、嘴角)。但在工业质检、医疗影像等领域,我们常需要检测其他目标并调整关键点数量。比如检测电路板元件需要3个定位…...
MagentaCore:基于ESP32的嵌入式LED点阵实时驱动框架
1. MagentaCore项目概述MagentaCore是一个面向嵌入式LED点阵显示系统的轻量级固件框架,由德国电子学徒(Schnuppilehrling)团队在ESP32平台基础上开发完成。项目名称“MagentaCore”源自其核心视觉输出——以品红色(Magenta&#x…...
效率飞跃:用快马一键配置wsl2下的全能开发工具链
效率飞跃:用快马一键配置wsl2下的全能开发工具链 最近在Windows上折腾WSL2开发环境,发现从零开始配置各种工具链特别耗时。每次换电脑或重装系统,都要重复安装一堆基础工具、配置环境变量、调试兼容性问题。后来尝试用InsCode(快马)平台生成…...
提升网络调试效率,快马AI一键生成端口扫描与服务检测实用脚本
最近在调试网络服务时,经常需要手动检查端口状态和接口可用性,重复劳动特别耗时。于是尝试用Python写了个自动化工具,发现效果不错,分享下实现思路和使用体验。 端口扫描功能实现 通过socket模块实现基础的TCP连接检查,…...
突破大文件传输瓶颈:aliyunpan快传链接技术全解析
突破大文件传输瓶颈:aliyunpan快传链接技术全解析 【免费下载链接】aliyunpan 阿里云盘命令行客户端,支持JavaScript插件,支持同步备份功能。 项目地址: https://gitcode.com/GitHub_Trending/ali/aliyunpan 大文件传输的现实痛点&…...
蚕豆剥豆机设计(机械原理设计)【设计说明书+机构简图+SW三维+stp通用格式+运动仿真】 备注:此份资料没有CAD装配
蚕豆剥豆机作为农业机械化的重要工具,其核心作用在于通过机械结构替代人工操作,显著提升剥豆效率并降低劳动强度。其设计需综合考量豆荚的物理特性、剥壳力传递路径及豆粒完整性保护等关键因素。机械原理设计以连杆机构、凸轮机构及夹持机构为基础&#…...
车载相机升级指南:美信MAX9295/96717串行器搭配MAX96712解串器调试MIPI相机实录
车载相机升级指南:美信MAX9295/96717串行器搭配MAX96712解串器调试MIPI相机实录 随着智能驾驶系统对图像识别精度要求的提升,8M像素车载相机正逐步成为行业标配。这次我们团队在升级某高端车型环视系统时,就遇到了从传统2M相机切换到8M MIPI…...
用Python+NumPy可视化理解:为什么平行四边形的面积等于矩阵行列式?
用PythonNumPy可视化理解:为什么平行四边形的面积等于矩阵行列式? 线性代数中那些看似抽象的公式,往往藏着令人惊叹的几何直觉。今天我们就用Python代码,让矩阵行列式与平行四边形面积的关系"活"过来。当你看到图形随着…...
WebREPL完全指南:突破嵌入式开发环境限制 开发者的无线调试解决方案
WebREPL完全指南:突破嵌入式开发环境限制 开发者的无线调试解决方案 【免费下载链接】webrepl WebREPL client and related tools for MicroPython 项目地址: https://gitcode.com/gh_mirrors/we/webrepl 价值定位:如何突破传统开发环境限制&…...
FunClip终极指南:三步完成本地AI视频剪辑与智能处理高效工作流
FunClip终极指南:三步完成本地AI视频剪辑与智能处理高效工作流 【免费下载链接】FunClip Open-source, accurate and easy-to-use video clipping tool, LLM based AI clipping intergrated || 开源、精准、方便的视频切片工具,集成了大语言模型AI智能剪…...
