摘要:
特别劝退的一道题目。 调了整整两天,码长 4.39kb -> 6.89kb 这道毒瘤题不仅卡时间,还卡空间。 题意 给定一个长为 $n$ 的序列 $a$,需要实现 $m$ 次操作: 1 l r x:表示将区间 $[l,r]$ 中所有 $>x$ 的元素减去 $x$。 2 l r:表示询问区间 $[l, 阅读全文
摘要:
一道比较常规的构造题。 思路 首先要知道一个结论: $$a \And b + a|b=a+b$$ 知道这个结论就比较好做了,可以相加迅速求出 $\sum_{i=1}^{i\le n}a_i$。 接着就可以直接求出每一个 $a_i$ 了。 这求解的时候需要注意,如果当求出的 $a_i$ 不为整数时,那 阅读全文
摘要:
不难发现对于一个特定的 \(\text{l}\) 而言,\(\text{r}\) 的答案具有单调性。 所以就可以很自然的想到二分。 由于需要对所有的 \(\text{l}\) 都进行统计答案。 只用普通的二分复杂度会炸掉,所以就可以想到使用整体二分。 思路 首先考虑如何判断奇环。 对于这部分内容,可 阅读全文
摘要:
萌新第一次参加省选。 Day 0 省选推迟,回去卷文化。 Day 1 开始看三个题,发现 \(\text{T1}\) 貌似是个可做题,就开了 \(\text{T1}\)。 做到九点半,过了几个给的样例,就放那不管了。 \(\text{T2}\) 没什么特别好的方法(可能天生与计数题绝缘),写了 \( 阅读全文
摘要:
最初分块,个人感觉如果之前做过带插入区间 \(\text{K}\) 小值和第二分块的话,应该还比较好想。 思路 由于要询问的是区间第 \(\text{k}\) 小值,自然而然的就可以想到分块套分块,外层对序列进行分块,内层运用值域分块,空间复杂度:\(O(n \sqrt n)\)。 具体的,我们对于 阅读全文
摘要:
考场上只写了一个 \(O(n\sqrt n \log n)\) 的暴力。 然后以为是什么二次离线之类的黑科技,压根没往回滚想。 赛后一提醒立马想到了。 个人觉得想到了还是比较好写的。 思路 考虑离线莫队。 暴力做法是用莫队维护左右端点,加入和删除都用一个 \(\text{set}\) 或者平衡树去维 阅读全文
摘要:
明明是一道 \(\text{k-d tree}\) 模板题,为什么写的人这么少呢。 思路 看到平面上的操作,就必不可免的想到 \(\text{k-d tree}\)。 \(\text{k-d tree}\) 板子大家应该都会写,这里讲一下最近最远的查询。 1.最远 我们可以发现,一个点到一个矩阵的最 阅读全文
摘要:
蒟蒻做的第一道黑色的 \(\text{Ynoi}\),写一篇题解纪念一下。 题意 第四分块。 你需要实现 \(m\) 个操作,操作有两种: 把序列中所有值为 \(x\) 的数的值变成 \(y\)。 找出一个位置 \(i\) 满足 \(a_i=x\),找出一个位置 \(j\) 满足 \(a_j=y\) 阅读全文
摘要:
很板子的一道题。 思路 由于操作中有关于颜色段相关的操作,又保证了数据随机,所以立马就可以想到 \(\text{ODT}\) ,又由于需要单点修改权值,并查询最大值,最小值,权值和,所以可以想到再用线段树去维护。 是不是十分的简单。 实现细节 这里讲一讲一些实现的细节。 对于第三个和第四个查询操作, 阅读全文
摘要:
开坑与2021.10.23 $\text{update1}$:新增了一些关于线段树的拓展内容-2022.3.2 权值线段树 权值线段树,一个可以动态维护区间的第$~k~$小(反之同理)的数据结构。 在线段树的基础上优化而来,代码实现比较简单。 支持单点修改。 时间复杂度:修改和查询均为$O(\log 阅读全文