Ynoi

Ynoi

P4688 [Ynoi2016] 掉进兔子洞 序列,静态,求三个区间的可重集的交的大小,离线,\(n,Q\le 10^5\),3s,500MB 缺乏性质 \(\rightarrow\) bitset 静态区间 \(\rightarrow\) 莫队化为单点改 bitset 支持取交,\(x\) 重复 ......
Ynoi

P5309 [Ynoi2011] 初始化 题解

题目链接:初始化 这种 ynoi 的老题就是卡常。来简单说说这题的思维切入口。 看到形如 \(y+k \times x\) 的结构,自然而然思考一下如果我们是暴力更新会有怎么样的效果。我们容易发现,如果 \(x\) 比较大,暴力更新的次数 \(\dfrac{n}{x}\) 也不会很大的,但 \(x\ ......
题解 P5309 5309 2011 Ynoi

P7907 [Ynoi2005] rmscne题解

题目链接:rmscne 神仙经典数据结构难题。看到求区间种类数有关的东西,需要下意识的反应到经典老题 HH的项链,这里可以学习我这篇 题解。具体学习下扫描线怎么做这类东西的。 看看本题,首先处理区间查询问题,而且是这种很复杂的子区间问题。这里的 \(l'\) 和 \(r'\) 所组成的子区间 \([ ......
题解 rmscne P7907 7907 2005

P9989 [Ynoi Easy Round 2023] TEST_69

[Ynoi Easy Round 2023] TEST_69 Luogu P9989 题目描述 给定一个长为 \(n\) 的序列 \(a\),有 \(m\) 次操作。 每次有两种操作: 1 l r x:对于区间 \([l,r]\) 内所有 \(i\),将 \(a_i\) 变成 \(\gcd(a_i, ......
P9989 Round 9989 2023 Easy

P8512 [Ynoi Easy Round 2021] TEST_152 题解

P8512 直接做不好做,考虑离线。这个覆盖操作和这道题很像,可以直接对某些段暴力修改,可以直接上 ODT。发现当 ODT 执行这些操作时,是容易求出不执行某些操作后带来的值的影响的,即可以直接用树状数组维护每个位置现在是被那个操作覆盖,求出 \(1\) 到 \(x\) 操作还覆盖了那些位置,以及这 ......
题解 P8512 Round 8512 2021

洛谷 P9061 [Ynoi2002] Optimal Ordered Problem Solver

洛谷传送门 QOJ 传送门 考虑操作了若干次,所有点一定分布在一个自左上到右下的阶梯上或者在这个阶梯的右(上)侧。此处借用 H_W_Y 的一张图: 考虑如何计算答案。对于一次询问 \((X, Y)\),如果它在阶梯左下方不用管它,否则考虑容斥,答案即为 \(x \ge X, y \ge Y\) 的点 ......
Optimal Ordered Problem Solver P9061

P9993 [Ynoi Easy Round 2024] TEST_133 题解

题目链接: [Ynoi Easy Round 2024] TEST_133 首先历史最大加,吉司机跑不掉了,维护历史最大加标记以及历史最大,那么根据吉司机标记思想更新操作应该为 \[new \Leftarrow \max{(h_{max},a_i+h_{addMax})} \]新的历史最大值,由原来 ......
题解 P9993 Round 9993 2024

P9989 [Ynoi Easy Round 2023] TEST_69 题解

题目链接: [Ynoi Easy Round 2023] TEST_69 首先GCD有比较良好的一些性质。我们观察到一次 \(GCD(a_i,x)\) 操作,会有以下两种变化。 如果 \(x \bmod a_i == 0\),那么很显然 \(\gcd(a_i,x)==a_i\),不会发生任何改变。 ......
题解 P9989 Round 9989 2023

Ynoi Easy Round 2024

下午要回校准备月考,限时复活一会找找存在感。都是口胡。 Ynoi Easy Round 2024 TEST_69 gcd 这个东西的经典结论是变 log 次就会变成 1。所以又是势能线段树。记一下 LCM 即可。注意到 LCM 如果非常大就不可能满足条件,所以 LCM 和 1e18 不断 check ......
Round Ynoi Easy 2024

Ynoi

P5071 [Ynoi2015] 此时此刻的光辉 tag:莫队,根号分治 #include<algorithm> #include<iostream> #include<cstdio> #include<vector> #include<cmath> using namespace std; typ ......
Ynoi

洛谷 P5311 [Ynoi2011] 成都七中

洛谷传送门 转化一下题意,变成求 \(x\) 在只经过编号 \(\in [l, r]\) 的点,能走到多少种颜色。 考虑建出点分树。一个结论是原树上的一个连通块,一定存在一个点,使得它在点分树上的子树完全包含这个连通块的所有点。证明考虑点分治的过程,一个连通块如果没被其中一个点剖开就一定在同一个子树 ......
P5311 5311 2011 Ynoi

P9995 [Ynoi2000] rspcn 题解

思路 比较典的 ODT 题目。 发现排序是一个非常有性质的操作。 它对区间的更改与颜色段均摊差不多。 那么我们可以想到用 ODT 来维护这一整个序列。 具体的,区间排序操作可以用 ODT 维护每次排序产生的段,每段用线段树维护排序后的结果。 每次修改就可以进行线段树的分裂与合并。 如何查询。 可以发 ......
题解 P9995 rspcn 9995 2000

P9992 [Ynoi Easy Round 2024] TEST_130 题解

最开始没看到子树的限制,以为是个极其困难题。 思路 由于问题是在子树下,可以考虑在 dfn 序上扫描线。 考虑一个点 \(u\) 对 \(v,d\) 的贡献。 令 \(dep_u\) 为 \(u\) 的深度,\(mdep_u\) 为 \(u\) 的子树下的最大深度。 \(dep_u< dep_v\) ......
题解 P9992 Round 9992 2024

P9993 [Ynoi Easy Round 2024] TEST_133 题解

思路 看到时限这么大,考虑暴力做法。 我们将原序列分为 \(\text{B}\) 个块,每个块类似线段树三一样的维护 \(add,maxadd\),表示这一块需要加的值,加的值的历史最大值。 同时对于每个数可以维护一个真实值与一个历史最值。 那么下传标记可以写成这样。 inline void pus ......
题解 P9993 Round 9993 2024

P9994 [Ynoi Easy Round 2024] TEST_132 题解

题解怎么都是用暴力日过去的啊。 思路 考虑根号分治,设阈值为 \(B\)。 对于第二维出现次数超过 \(B\) 的,我们可以在修改时暴力更改,这部分复杂度为 \(O(\frac{nm}{B})\)。 对于第二维出现次数小于 \(B\) 的,我们可以在修改是打标记,查询时遍历一遍,这部分的复杂度为 \ ......
题解 P9994 Round 9994 2024

P9991 [Ynoi Easy Round 2023] TEST_107 题解

思路 题目即要求删除区间中的一个或多个颜色。 考虑假如枚举删除颜色 \(k\)。 那么在 \(l,r\) 中的答案为: \[\max_{i=1}^{m+1} a_i-a_{i-1} \]其中 \(a_i\) 为颜色 \(k\) 在 \(l\sim r\) 中的出现位置,\(a_{0}=l,a_{m+ ......
题解 P9991 Round 9991 2023

洛谷 P9058 [Ynoi2004] rpmtdq

洛谷传送门 类比 P9062 [Ynoi2002] Adaptive Hsearch&Lsearch 处理区间最近点对的思路,尝试只保留可能有贡献的点对。 处理树上路径容易想到点分治。设点 \(u\) 到分治中心的距离为 \(a_u\)。我们有 \(\text{dis}(u, v) \le a_u ......
rpmtdq P9058 9058 2004 Ynoi

题解 P9993【[Ynoi Easy Round 2024] TEST_133】

就硬把 线段树 3 和 数列分块入门 2 揉到一起出。 维护原数组 \(a\) 及其历史最大值 \(hist\),对每个块,维护块内 \(a\) 升序排序后结果 \(p\)、块内 \(a\) 升序排序后历史最大值前缀和 \(prehist\)、块加标记 \(add\)、块历史和加标记 \(hista ......
题解 P9993 Round 9993 2024

P6782 [Ynoi2008] rplexq

P6782 [Ynoi2008] rplexq 给定一棵 \(n\) 个节点的有根树,第 \(i\) 个点的编号是 \(i\)。 有 \(m\) 次询问,每次询问给出 \(l,r,x\),求有多少点编号的二元组 \((i,j)\) 满足 \(l \le i < j \le r\) 且 \(i\) 和 ......
rplexq P6782 6782 2008 Ynoi

[Ynoi2007]rfplca/[CF1491H] Yuezheng Ling and Dynamic Tree

题目描述 给定一棵大小为 \(n\) 的 \(1\) 为根节点的树,树用如下方式给出:输入 \(a_2,a_3,\dots,a_n\),保证 \(1\leq a_i<i\),将 \(a_i\) 与 \(i\) 连边形成一棵树。 接下来有 \(m\) 次操作,操作有两种: 1 l r x 令 \(a_ ......
Yuezheng Dynamic rfplca 1491H Ynoi

P7446 [Ynoi2007] rfplca题解

P7446 [Ynoi2007] rfplca 可以用分块维护,记 $ b_i $ 表示这个块中第一个 \(a_i\) 不在块中的值 区间修改: 对于散块,直接暴力重构 对于整块,发现 \(b_i\) 所属点最多只会改变 \(\sqrt n\) 次,所以也暴力重构 查询: 考虑像倍增一样的过程,先把 ......
题解 rfplca P7446 7446 2007

[Ynoi2004] rpmtdq 题解

人生第一发 \(Ynoi\) 的题, 写一篇题解庆祝一下 传送门 我们可以发现, 对于二元组 \((x, y)\) , 若存在一个 \(dist(i, j) \le dist(x, y), x < i < j < y\) 那么答案肯定不是二元组 \((x, y)\) 我们可以考虑把这些肯定不是的点剔 ......
题解 rpmtdq Ynoi 2004

P6108 [Ynoi2009] rprsvq 积分题解

给 EI 题解写注 qwq。。 化简方差: \[\frac{1}{n}\sum(a_i-\overline a)^2\\ =\frac{1}{n}(\sum a_i^2-2\overline {a}\sum a_i+n\overline a^2)\\ =(\frac{1}{n}-\frac{1}{n ......
题解 积分 rprsvq P6108 6108

[Ynoi2005] qwq

原问题比较类似 \(\text{ZJOI 2020}\) 序列,可以划归为一个线性规划的形式,考虑将线性规划对偶,不难发现等价于求一个序列 \(b\),使得对于任意 \(1\leqslant l\leqslant r\leqslant n,r-l+1\leqslant m\) 均满足 \(\sum_ ......
Ynoi 2005 qwq

[Ynoi2077] hlcpq

注意到虽然图比较稠密,但是我们可以只保留一些有用的边。先考虑一个弱化版,找到一些有效的边构成的 \(G'\) 使得 \(G\) 与 \(G'\) 连通性相同,实际上如果我们按某个坐标进行扫描线,原问题相当于维护一个集合 \(S\),支持: \(1.\) 动态在 \(S\) 集合中加删点。 \(2.\ ......
hlcpq Ynoi 2077

P5048 [Ynoi2019 模拟赛] 题解

题意 给定 \(n\) 个数,有 \(m\) 个询问,每个询问给定 \(l\) 和 \(r\),求出区间 \(l\) 到 \(r\) 中的最小众数出现次数,强制在线。 数据范围:\(n\le 500000\),空间限制:\(62.5MB\)。 思路 这道题的弱化版是 蒲公英,这道题加强的地方在于数据 ......
模拟赛 题解 P5048 5048 2019

P5314 [Ynoi2011] ODT

好题,牛牛的一个套路。 先树剖一下,我们可以很简单的用树状数组维护每个点的真实值。 对于每个点只维护所有轻儿子的信息,对于每次询问的时候暴力加入当前点,重儿子以及父亲的信息,查询第 \(k\) 大,再删除信息即可。 考虑链修改的影响。因为只维护的是轻儿子的信息,那么只有链上的所有轻边会修改。 具体的 ......
P5314 5314 2011 Ynoi ODT

P4119 [Ynoi2018] 未来日记

\(\text{Links}\) LuoguBlog P4119 [Ynoi2018] 未来日记 题外话 个人生涯中第一道独立通过的 Ynoi 大分块!! 同时也是个人生涯中通过的第十道 Ynoi 系列题目!! 卡了好久结果加了个优化就过了/yun AC 那一瞬间的场面好像 56 Seconds L ......
日记 P4119 4119 2018 Ynoi

P5048 [Ynoi2019 模拟赛] Yuno loves sqrt technology III

题意 给定序列 \(s\),每次询问 \(l, r\) 的区间众数的出现次数。 强制在线。空间:\(62.5MB\)。 Sol 蒲公英卡常卡空间版。 考虑优化那个 \(n \times m\) 的数组。 我们要求 \(l, r\) 之中某个数的个数。 乍一看不好弄,仔细想想就会发现,如果我们知道当前 ......
模拟赛 technology P5048 loves 5048

P4688 [Ynoi2016] 掉进兔子洞

题意 给定长度为 \(n\) 的序列 \(s\)。 有 \(m\) 个询问,每次询问三个区间,把三个区间中同时出现的数一个一个删掉,问最后三个区间剩下的数的个数和,询问独立。 Sol 不难发现答案即为求:\(r1 - l1 + r2 - l2 + r3 - l3 + 3 - siz\)。其中 \(s ......
兔子 P4688 4688 2016 Ynoi