题解atcoder agc 004

[JOISC 2016] 雇佣计划 题解

[JOISC 2016] 雇佣计划 题解 这里补充一篇自己的 \(n \log n\) 做法。 本蒟蒻打了两棵线段树,并且进行了繁琐的分类讨论,完全被标算的树状数组吊打 qwq 题意: 给定一个序列 \(a\),有两种操作: 将 \(c\) 位置权值改为 \(d\); 给定一个权值 \(b\),定义 ......
题解 JOISC 2016

标准题解 - 2023/9/10

01串 对于相邻的两个段和 \(S_i\) 和 \(S_{i+1}\) 两段之间移动时的差别既删除了 \(i\) 号元素,添加了 \(i+K\) 号元素。如果 \(S_i = S_{i+1}+1\) 那么说明 \(i\) 号元素是 \(1\),\(i+K\) 号元素是 \(0\)。(删除 \(1\) ......
题解 标准 2023 10

AtCoder Beginner Contest 319 - C(模拟题)

目录C - False HopeD - Minimum Width C - False Hope 题意 给定一个 $3 \times 3 $ 的矩阵。 以一个随机的顺序先后看这 9 个数,如果说某一行或者某一列或者某一对角线上的三个数看到的先后顺序满足先看到相同的两个数,再看到不同的一个数,则此次观 ......
模拟题 Beginner AtCoder Contest 319

P5318 题解

前置知识: 链式前向星初始化 深度优先搜索和广度优先搜索 如果你还不知道链式前向星,那么请看这篇文章,请务必搞懂它。 原题传送门 看到题解区没有关于链式前向星的题解,就准备来发一波! 思路分析 分析存储方法 在图中,最常见的存储方法是以下三种: 邻接矩阵 邻接表 链式前向星 现在我们就来逐一选择一下 ......
题解 P5318 5318

CF1570C 题解

一道纯粹的贪心题。 思路分析 通过观察,我们可以发现,每个瓶子所需要的射击次数的增长是与 \(x\) 密切相关的。 这样我们很容易想到,如果我们将耐久度大的瓶子放在后面射击,那么 \(x\) 就会较大,因而导致最终的射击次数变大。 说到这儿,思路已经显而易见了。我们可以对 \(a\) 数组根据耐久度 ......
题解 1570C 1570 CF

P8029 [COCI2021-2022#3] Akcija 题解

注:这篇题解中涉及到的所有概念均会在其第一次出现时用 斜体 标出,有些概念给出了定义,而有些概念的含义请自行意会。 定义 状态 为选了的物品数 \(a\) 与相应总价格 \(b\) 的二元组 \((a,b)\)。相应地定义状态之间的 大小关系、最优状态 与状态和状态的 加法运算 \((a_1,b_1 ......
题解 Akcija P8029 8029 2021

P9502 题解

普通模拟的别的题解应该都有了,现在我来介绍一种不同寻常的偷懒方法! 思路分析 确定最大值 题目要我们求 \(2^m\) 次方,常规的方法是对于 \(m\) 一个一个试过去,最终找到答案。 但是,我们可以发现,\(m\) 不就是 \(\log_2 n\) 嘛!(不考虑偶数和小于的条件下) 所以我们可以 ......
题解 P9502 9502

P9503 题解

一道简单的模拟题尽管我花了好久才写出来。 思路分析 我们可以知道,如果想让背景为某个颜色,那么颜色前面的所有幕布都需要被拉起来,而这个颜色的幕布则需要被放下。 所以我们对于每次操作,只需检查一遍它前面的幕布和这块幕布的状况即可。 程序实现 #include <bits/stdc++.h> using ......
题解 P9503 9503

CF285B 题解

不可多得的小清新模拟题! 思路分析 题目中已经暗示地很明显了,只能对 \(x\) 进行操作使得 \(x\) 变成 \(p_x\)。 而我们现在可以操作的值唯独 \(s\),所以我们的思路就呼之欲出了。 我们重复将 \(s\) 迭代为 \(p_s\)。如果 \(s=t\),那么我们就找到了答案。如果 ......
题解 285B 285 CF

UVA1030 题解

思路分析 猜想 我们可以在题目中看出一下几个突破口: 能“看穿”的位置所对应的单位立方体是一定不存在的。 如果前视图的右上角的颜色 \(A\) 和顶视图的的右下角颜色 \(B\) 不同,那么对应的格子就一定不存在。 在删除这个立方体后,我们还可以发现,挖去立方体的左侧和 \(B\) 左侧的颜色不同。 ......
题解 1030 UVA

CF1252A 题解

思路分析 前置知识:排列是没有重复元素的! 猜想 我们可以进行一种猜想,对于 \(x\),输出: \[\begin{cases} x+1&x<N\\ 1&x=N \end{cases}\]将代码提交上去,我们可以发现这种猜想值正确的! 证明 但是作为一名合格的 OIer我们必须证明这种做法是正确的。 ......
题解 1252A 1252 CF

CF387B 题解

思路分析 因为最终要使得 \(a,b\) 相同,所以我们应该希望让相同的数字尽量相同。所以,我们需要先对 \(a\) 和 \(b\) 进行排序,这样子就可以使用双指针的方法来维护最终值了。 我们定义 \(l\) 指针指向 \(a_l\),\(r\) 指针指向 \(b_r\)。因为题目要求添加数字的次 ......
题解 387B 387 CF

CF431B 题解

思路分析 答题思路 一道纯暴力题! 因为我们发现数据最大是 \(5\),而枚举全排列的时间复杂度为 \(\mathcal O(n!)\),对于这种极小的数据范围是丝毫不用顾虑的,因为我们只需要执行 \(120\) 次。 如何快速求出一个数组的全排列? 我们可以使用 dfs,一层一层获取这个数组的全排 ......
题解 431B 431 CF

P9516 题解

思路分析 一道很有洛谷个性的模拟签到题。 按照题意,我们只需读入 \(a,b,c,d,e\),然后对其进行求和,然后依次根据 洛谷咕值系统介绍 进行判断即可。 这样是不是太没有意思了?今天为大家带来一点干货作为福利! 介绍:accumulate() 函数! 简略分析:这个函数可以求出一段区间内的数字 ......
题解 P9516 9516

P9516 题解

思路分析 一道很有洛谷个性的模拟签到题。 按照题意,我们只需读入 \(a,b,c,d,e\),然后对其进行求和,然后依次根据 洛谷咕值系统介绍 进行判断即可。 这样是不是太没有意思了?今天为大家带来一点干货作为福利! 介绍:accumulate() 函数! 简略分析:这个函数可以求出一段区间内的数字 ......
题解 P9516 9516

P9517 题解

思路分析 我们只需要找到左边第一个大于 \(0\) 的位置 \(l\) 与右边第一个大于 \(0\) 的位置 \(r\),输出 \(r-l+1\) 即可。 但是很坑的一点是,如果 \(∀i∈[1,n],a_i=0\),那么 \(l\) 和 \(r\) 会重合,代码会输出 \(1\)!所以,我们需要定 ......
题解 P9517 9517

UVA11210 题解

思路分析 一道大模拟。 一共只有 \(34\) 种牌,因此可以一次判断是否“听”这些牌。比如,为了判断是否“听”一万,只需要判断自己拿到这张一万后能否可以继续和牌。这样,问题就转化成了给定 \(14\) 张牌,判断是否可以和牌。为此,我们可以递归求解:首先将两张牌作为“将”,然后每次选 \(3\) ......
题解 11210 UVA

UVA11464 题解

思路分析 暴力枚举? 我们可以枚举每个数字变或不变,最后判断整个矩阵是否满足条件。但是,这样做最多需要枚举 \(2^{255}≈5\times10^{67}\) 中情况,是一定会超时的。 大眼观察 注意到 \(n\le15\),第一行只有不超过 \(2^{15}=32768\) 种可能,所以第一行的 ......
题解 11464 UVA

UVA1352 题解

思路分析 构造排列表 立方体只有 \(4\) 个,暴力法是可行的。但是如果我们要暴力,首先得清楚一个立方体到底有几种不同的旋转方式。 接下来,我们用“姿态”一词代替“旋转方法”。假设 \(6\) 个面的编号为 \(1\sim6\),从中选择一个面作为“顶面”,“顶面”的对面为“底面”。然后我们在剩下 ......
题解 1352 UVA

题解 SP4586 Texas Trip

首先题目翻译是有问题的,求的不是矩形而是最小的正方形。 Solution 先考虑一下若正方形的边都只能平行于坐标轴怎么做:找到 \(x,y\) 方向的坐标最值,那么答案就是 \(\max^2\{X_{\max}-X_{\min},Y_{\max}-Y_{\min}\}\)。 接下来,若正方形可以是斜 ......
题解 Texas 4586 Trip SP

题解 P8389【[COI2021] Izvanzemaljci】

(本题解的所有图片使用 Geometry Widget 进行绘制) (一)\(K=1\) 情况 \(K=1\) 是平凡的。 (二)\(K=2\) 情况 显然,对于平面内的两个不交正方形,存在至少一条平行于坐标轴的直线将它们划分到两侧。 以直线平行于 \(y\) 轴为例。 考虑按 \(x\) 轴正方向 ......
题解 Izvanzemaljci P8389 8389 2021

「题解」P9558 [SDCPC2023] Trie

orz negiizhao 自底向上确定每个点的所有出边上挂的字符,那么问题就是比较 \(x,y\) 两个子树的字典序大小。直接一起往下 dfs,先找到标记点的子树更小,如果 dfs 过程中一棵树找完了而另一棵树没找完并且还没确定大小,这时还没找完的那棵树应当排到前面。在递归的最浅层也就是比较 \( ......
题解 P9558 SDCPC 9558 2023

[EDISOI] Round 1 题解

写在前面的话 本场比赛难度估计大约可能是 \(\text{NOIp}\) 难度? 考场得分 \(100+100+100+0=300\) ,封榜时排名 \(\text{rank6}\) 。 T1 题目描述: 有一张地铁交通网 \(G\).\(G\) 拥有 \(n\) 个站点和 \(m\) 条地铁线路. ......
题解 EDISOI Round

米联客FEP-DAQ004-12-250M-2模数转换模块使用手册

1产品概述 FEP-DAQ004-12-250M-2 数据采集模块采用一颗 TI 的 ADS4229低功耗高性能模数转换芯片,实现了 2 通道250MSPS 模数转换,并且支持 2 路数字 IO 输入/输出触发功能。模块采用自定义 FEP 扩展接口,具有成本低, 实用性强的特性,可以适配"米联客"所 ......
模数 模块 FEP-DAQ 手册 FEP

[ABC319E] Bus Stops 题解

[ABC319E] Bus Stops 题解 题意简介 给定 \(n\) 个公交站。对于第 \(i\) 个公交站,在时刻 \(p_i \times k,k \in \mathbb{N}\) 有一辆公交车出发,在经过 \(t_i\) 的时间后,到达第 \(i+1\) 个公交站。 在走到第一个公交车之前 ......
题解 Stops 319E ABC 319

【题解】 AtCoder Beginner Contest 319

没有写 F,不确定我的做法对不对。 评价:什么牛逼场次,代码大赛是嘛,从 A 开始就感觉到不对了,而且题面写的真答辩。 A.Legendary Players 题目分析: 直接按题目模拟即可。 代码: 点击查看代码 #include<bits/stdc++.h> using namespace st ......
题解 Beginner AtCoder Contest 319

AtCoder Beginner Contest 319

A - Legendary Players (abc319 A) 题目大意 给定rating前10的选手名字和对应分数。 给定名字,问对应分数。 解题思路 复制一下,建个数组,然后一个一个判断即可。Python更好写一点。 神奇的代码 #include <bits/stdc++.h> using n ......
Beginner AtCoder Contest 319

LOJ#6515. 「雅礼集训 2018 Day10」贪玩蓝月题解

题目链接 #6515. 「雅礼集训 2018 Day10」贪玩蓝月 - 题目 - LibreOJ (loj.ac) 分析 一个朴素的想法就是模拟这个过程,当询问时做一遍01背包,但这样明显会超时 想象这样一个例子:当两次询问中间夹着一次插入操作 第二次进行01背包,明显只需要在第一次的基础上对新插入 ......
题解 6515 2018 LOJ Day

$AtCoder Beginner Contest 319$

\(A - Legendary Players\) map<char ,int >mp; void solve(){ string s; cin>>s; cout<<mp[s[0]]<<'\n'; //puts(ans>0?"YES":"NO"); //puts(ans>0?"Yes":"No"); ......
Beginner AtCoder Contest 319

【题解】三连击

[NOIP1998 普及组] 三连击 思路 想一想桶 得到三个数之后把每一位依次存入桶 然后遍历这个桶,看哪一位为\(0\) 代码 // 语言:C++ #include <iostream> #include <cstring> //memset using namespace std; int m ......
题解