发布时间:2026/9/2 3:00:29
题解:Atcoder Beginner Contest abc466 A~D A - Compromise题目描述有 $N$ 个选择。你将选择其中之一。如果你选择 $i$ \-个选项你的幸福感将是 $X #95; i$ 。如果无论你选择哪个选项你的幸福感都是负数那么输出 Yes 否则输出 No 。解题思路A题不讲了。脑残题。完整代码#includebits/stdc.h #define fr1(i,a,b) for(int (i)(a);(i)(b);(i)) #define fr2(i,a,b) for(int (i)(a);(i)(b);(i)--) #define fv(i,p) for(auto (i):(p)) #define ll long long #define ull unsigned ll #define pii pairint,int #define pll pairll,ll #define _1st first #define _2nd second #define elif else if #define debug coutendl-------------------------------------------------------------endl using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(NULL);cout.tie(NULL); int n; cinn; bool flagfalse; fr1(i,1,n){ int x; cinx; if(x0)flagtrue; } if(flag)coutNo\n; else coutYes\n; return 0; }B - Representative Balls题目描述有 $N$ 个球。第 $i$ 个球的颜色是 $C_i$ 大小是 $S_i$ 。这里颜色用整数 $1, 2, \ldots, M$ 表示。对于 $k 1, 2, \ldots, M$ 输出颜色为 $k$ 的球的最大大小如果没有颜色为 $k$ 的球则输出 $-1$ 。解题思路最脑残的一次B题。完整代码#includebits/stdc.h #define fr1(i,a,b) for(int (i)(a);(i)(b);(i)) #define fr2(i,a,b) for(int (i)(a);(i)(b);(i)--) #define fv(i,p) for(auto (i):(p)) #define ll long long #define ull unsigned ll #define pii pairint,int #define pll pairll,ll #define _1st first #define _2nd second #define elif else if #define debug coutendl-------------------------------------------------------------endl using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(NULL);cout.tie(NULL); int N,M; cinNM; int mx[105]; fr1(i,1,M)mx[i]-1; fr1(i,1,N){ int c,s; cincs; mx[c]max(mx[c],s); } fr1(k,1,M){ if(k1)cout ; coutmx[k]; } return 0; }C - Count Close Pairs题目描述这是一个交互式问题在这个问题中你的程序和法官程序通过标准输入和输出进行通信。在一条数线上点 $1$ 、 $2$ 、 $\ldots$ 、 $N$ 从左到右依次排列。最初只给出整数 $N$ 。然后你最多可以向法官提出以下问题 ${2N}$ 次选择满足 $1 \leq i lt; j \leq N$ 的整数 $i$ 和 $j$ 问点 $i$ 和 $j$ 之间的距离是否最多为 $1$ 。输出距离最多为 $1$ 的点对的个数即满足 $1 \leq i lt; j \leq N$ 的整数 $(i,j)$ 中点 $i$ 与 $j$ 之间的距离最多为 $1$ 的点对的个数。如何交互首先从标准输入中接收代表点数的整数 $N$ $N$然后你可以向法官重复问题陈述中描述的问题最多 $2N$ 次。按以下格式将问题输出到标准输出其中 $i$ 和 $j$ 必须是满足 $1 \leq ilt;j \leq N$ 的整数? $i$ $j$作为对此的回应将从标准输入中给出以下信息之一Yes或者No。这里 $Yes$ 表示点 $i$ 和 $j$ 之间的距离最多为 $1$ $No$ 表示点 $i$ 和 $j$ 之间的距离大于 $1$ 。找到问题答案 $X$ 后按以下格式输出答案然后立即终止程序! $X$解题思路居然是滑动窗口。。。基本框架针对每个点 $1,2,\ldots,N$ 找出 $M_i$ 与 $i\leq M_i\leq N$ 的最大值使得从点 $i$ 到点 $M_i$ 的距离最多为 $1$ 。答案为 $ (M_1-1)(M_2-2)\cdots(M_N-N)$ 。重要的一点是 $M_1\leq M_2\leq \cdots \leq M_N$ .这是因为当点 $i$ 到点 $i1,i2,\ldots,M_i$ 的距离都在 $1$ 或以下时那么点 $(i1)$ 到点 $i2, i3,\ldots,M_i$ 的距离都在 $1$ 或以下。所以我们可以确定 $M_i$ 的值在 $i1,2,\ldots,N$ 的顺序中从而避免询问距离已知为 $1$ 或更小的线对从而减少问题的数量。具体来说我们从 $L1,R2$ 开始重复下面的操作询问点 $L$ 和点 $R$ 之间的距离是否最多为 $1$ 。在此如果是 $LR$ 则不提问而是进入下一步即点 $L$ 与点 $R$ 之间的距离最多是 $1$ 。如果点 $L$ 与 $R$ 之间的距离最多为 $1$ 则将 $R$ 增加 1并进入下一步。如果得出 $Rgt;N$ 则确定 $M_LM_{L1}\cdotsM_NN$ 并终止程序。如果点 $L$ 与 $R$ 之间的距离大于 $1$ 求出 $M_LR-1$ 并将 $L$ 增加 1。在此根据上述事实注意从新点 $L$ 到点 $L1,\ldots,R-1$ 的距离均为 $1$ 或以下。这里 $L$ 和 $R$ 单调递增或者说总是 $L\leq R$ 。在一次操作中 $LR$ 总是增加 1一旦 $Rgt;N$ 程序就终止因此循环最多迭代 $(2N1)-32N-2$ 次最后做一些简单推理即可。(我们可以证明查询次数最多为 $(2N-3)$ 。完整代码#include bits/stdc.h #define fr1(i,a,b) for(int (i)(a);(i)(b);(i)) #define fr2(i,a,b) for(int (i)(a);(i)(b);(i)--) #define fv(i,p) for(auto (i):(p)) #define ll long long #define ull unsigned ll #define pii pairint,int #define pll pairll,ll #define _1st first #define _2nd second #define elif else if #define debug coutendl-------------------------------------------------------------endl using namespace std; int n,l1,r2,ans; string s; int main(){ ios::sync_with_stdio(false); cin.tie(NULL);cout.tie(NULL); cinn; while(rn){ cout? l rendl; cins; if(sYes){ r; }else{ ans(r-l-1); l; if(lr)r; } } while(ln){ ans(r-l-1); l; } cout! ansendl; return 0; }D - Placing Rooks题目描述有一个网格其中有 $N$ 行和 $N$ 列。起初网格上什么都没有。从这个状态开始高桥依次对网格执行 $M$ 次操作。 $i$ 次操作 $(1\leq i\leq M)$ 如下。移除从上往下第 $R_i$ 行单元格上的所有棋子。接着移除从左边起第 $C_i$ 列单元格上的所有棋子。最后在从上往下第 $R_i$ 行和从左往上第 $C_i$ 列的单元格上放置一个棋子。输出经过 $M$ 次操作后放置在网格上的棋子数量。解题思路核心推论只有后续没有再次清空 \(R_i\) 行、也没有再次清空 \(C_i\) 列时第 i 次放的棋子最后才会保留 只要后面有任意一次操作选中了第 \(R_i\) 行或者第 \(C_i\) 列这个棋子一定会被清除。举例子假设第 i 步放置棋子 \((r,c)\)。如果存在一个操作序号 \(ki\)使得 \(R_kr\)第 k 步一开始就清空第 r 行第 i 步放的棋子消失如果存在一个操作序号 \(ki\)使得 \(C_kc\)第 k 步会清空第 c 列第 i 步棋子消失只有i 是第 r 行最后一次被选中的操作并且 i 也是第 c 列最后一次被选中的操作这枚棋子最后存活。数组解释\(lr[x]\)记录第 x 行最后一次被操作的序号\(lc[y]\)记录第 y 列最后一次被操作的序号。只有 \(lr[R_i]i\) 并且 \(lc[C_i]i\)第 i 次放下的棋子最终留下来。完整代码#includebits/stdc.h #define fr1(i,a,b) for(int (i)(a);(i)(b);(i)) #define fr2(i,a,b) for(int (i)(a);(i)(b);(i)--) #define fv(i,p) for(auto (i):(p)) #define ll long long #define ull unsigned ll #define pii pairint,int #define pll pairll,ll #define _1st first #define _2nd second #define elif else if #define debug coutendl-------------------------------------------------------------endl using namespace std; const int maxn300010; int lr[maxn]; int lc[maxn]; int r[maxn], c[maxn]; int main(){ ios::sync_with_stdio(false); cin.tie(NULL);cout.tie(NULL); int n, m; cinnm; fr1(i,1,m){ cinr[i]c[i]; int rrr[i]; int ccc[i]; lr[rr]i; lc[cc]i; } ll ans0; fr1(i,1,m){ int rrr[i]; int ccc[i]; if(lr[rr]ilc[cc]i){ ans; } } coutans; return 0; }

相关新闻

2026/9/2 17:43:57

UE5动画蒙太奇实战:构建状态驱动的角色连招系统

1. 项目概述:从“播放动画”到“创造战斗节奏” 在虚幻引擎5(UE5)里做角色攻击动画,新手和老手之间最大的分水岭,往往不在于动画资源有多精美,而在于如何把一个个独立的攻击动作,串联成一套有节…

2026/8/29 5:06:57

生产环境Socket编程落地实战指南(TCP/UDP工程化方案)

文章目录一、先分清生产场景TCP/UDP选型标准1. TCP适用生产业务(追求数据不丢失)2. UDP适用生产业务(追求低延迟,允许少量丢包)二、生产级Socket整体架构分层设计配套架构扩展方案三、TCP Socket生产改造核心规范&…

2026/9/2 17:41:03

AI开发暂停呼吁下,开发者如何应对技术风险与合规挑战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/2 17:41:03

藿藿不是奶妈!治疗+解控+充能“三合一”生存位使用攻略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/2 17:41:02

费米悖论新解:宇宙的沉默,是野蛮文明不配远航

前言:困扰人类百年的宇宙谜题 费米悖论,困扰了近代科学界数十年。 浩瀚宇宙,星河亿万,在百亿年的时间尺度里,即便概率再低,也理应诞生无数地外智慧文明。按照人类主流的科技扩张逻辑:文明只要突…

2026/9/2 17:41:02

Godot 4 编辑器增强插件 Wand-Enhancer 安装与开发指南

Godot 4 编辑器增强工具 Wand-Enhancer:它到底解决了什么问题,以及如何接入很多从 Blender、Unity 转到 Godot 的开发者,上手后第一个“不适感”不是 GDScript,也不是节点树,而是编辑器操作手感。默认情况下&#xff0…

2026/9/1 16:02:17

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出,第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器,出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台,直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/9/2 9:00:32

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流:为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历:明明传感器本身性能很好,信号输出却一塌糊涂——噪声大、漂移明显、重复性差,怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/9/2 8:41:06

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起,其实就是嵌入式开发里最常遇到的一类需求:用一块不算贵的 MCU,同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控,主频…

2026/9/2 0:03:41

单片机毕业设计-基于单片机与蓝牙通讯的输液状态监测终端设计与开发 基于 STM32 或 51 单片机的液位‑滴速‑温度多参数输液监护装置设计(024005)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/9/2 0:03:41

DeepSeek字幕翻译实战:从API调用到批量SRT转中文的完整方案

这次我们来看一个很实用的 DeepSeek 落地场景:用 DeepSeek 把英文视频字幕自动翻译成中文。具体案例是《恶魔君》1989 年第 28 集的英转中字幕任务,标题写得很直白,但背后其实是一整套可以复用的技术流程:字幕解析、模型调用、批量…

2026/9/2 0:03:41

用Python搭建搞笑语音助手:从语音识别到语音合成全教程

当你家里摆着一台天猫精灵,却总希望语音助手偶尔“不正经”一点,不用官方腔回答问题,而是张口就接几句搞笑段子,会是什么体验?我最近动手验证了一下这个想法——没有去改装任何市面上现有的智能音箱,而是直…

2026/9/2 1:15:22

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/2 1:15:22

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/2 1:15:20

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…