摘要:
前情提要:前些日子看Clover_BY操前看了蓝书上的一道题:(我操前一直什么也不带) 有 $N$ 个学生合影,站成左端对齐的 $k$ 排,每排分别有 $N_1,N_2,\cdots,N_k$ 个人,第一排站在最后面,第 $k$ 排站在最前面。学生的身高互不相同,把他们从高到低依次标记为 $1,2, 阅读全文
摘要:
笛卡尔树是一种二叉树,每个节点有两个键值 $x,y$ ,一个满足BST,一个满足堆。上图: 一个性质是如果键值确定那么笛卡尔树是唯一的。 笛卡尔树如果暴力构造很简单:找到整个序列最大/小的一个元素,将它作为当前的根节点,然后左右两边向下递归。但是这并不优秀。事实上我们有 $O(n)$ 的构建方法。 阅读全文
摘要:
套路题不会。考虑重修一下。 T1 经过考后的采访,joke3579、gtm1514、Chen_jr、Muel_imj四个人考场上写的Checker都拍过了然后都挂了零。 实际上从前往后扫,只要交换每个位置上比这个位置小 $1$ 的数即可,因为这样会且仅会减少调整的这一对逆序对。 #include < 阅读全文
摘要:
卢本伟nb。 T1 其实挺水。感觉懒得写就不写了。 赛时和joke3579打的multiset然后双双被卡。赛后看了看crs_line的做法。 #include <iostream> #include <algorithm> #include <cstdio> #include <stack> us 阅读全文
摘要:
T1 傻逼性质题。考场上蒙了个性质拍过了。 证明考虑调整法。直接说结论:排序之后顺序取第一个,最后一个,第二个……一直取完即可。 /*稍微化简一下变成一个平方和和一组积的形式 五子棋大师yugyppah65 wc我蒙的结论居然对了 于是我们现在就只需要维护前缀上的答案 考虑我们现在有了前面的答案 怎 阅读全文
摘要:
现在有这样一种感觉:是在留下永远不会在有人看的遗产。 T1 正解并查集,直接把每次给你的 $x,y$ 用并查集合并一下(没有 $y$ 就把 $x$ 和 $0$ 合并一下)并加入答案,如果已经在一个集合里就不要加入答案就行了。下面这个不是我写的。 int main() { H=read(); L=re 阅读全文
摘要:
T1 我们发现一对 $s$ 之间的公共部分就是这个位置的数,所以我们直接离散化之后在每一对 $s$ 之间连边然后跑欧拉路就可以。 比较水,数据也比较水。Delov使用了当前弧优化造数据把所有按着板子贺的欧拉路径卡成了45分。 #include <cstdio> #include <algorithm 阅读全文
摘要:
实际上如果你觉得你切了两道题但是没拍的话那就真的会保龄。所以我挂了200。警钟长鸣。 ARC125C 使字典序最小的话,他给了 $k$ 个我们需要扔掉最后一个不看,要不然可能不优。例子我不会举。 首先去掉最后一个之后显然我们最优的就是让他给的做第一个,然后怎么小怎么来。构造的话考虑每次在他给的数后面 阅读全文
摘要:
这么久了发现平衡树还不会背所以来复习一下。 首先你得知道什么是二叉搜索树(BST)。它是一棵二叉树,且对于任意节点都满足左儿子权值小于该节点,右儿子权值大于该节点。 我们发现普通的二叉搜索树单次查询的最坏复杂度是 $O(n)$ 的(比如下面这张盗的图): 所以我们有几种平衡树来解决这个问题,把查询的 阅读全文
摘要:
$\text{AC}$ 自动机,一般可以处理一类多模式串匹配问题,也可以拿来 $dp$ 。大概就是 $\text{kmp}+\text{trie}$ 。 首先我们知道给定单个模式串和单个文本串来匹配可以 $\text{kmp}$ 。然后现在要多个模式串个单个文本串匹配。而且一个一个搞复杂度会爆炸。那 阅读全文