摘要:
一道比较神奇的题目,状态显得比较扯淡,但是就是能过! 先建立出 trie 树,设 表示以 为根的子树内的答案。 但我们发现,若 的当前位为 ,那么问题就没法根据他的左右子树求解了,怎么办呢。 考虑一个很扯淡的状态,设 表示 阅读全文
摘要:
所谓 dp套dp ,实际上就是在说求解一个 dp 的过程中,我们用另一个 dp 求解出他应该从某个状态转移到另一个状态。 考虑一下这道题,首先求 LCS 的 dp 如下: \[dp_{i,j}=\max\{dp_{i-1,j},dp_{i,j-1},dp_{i-1,j-1}+[s_i==t_j]\} 阅读全文
摘要:
CF888G Xor-MST Boruvka 算法求最小生成树: 其实我们发现,一个点的连边中权值最小的一定在最小生成树中,Boruvka 算法就是利用了这个思想,每次将每个点的连边中权值最小的加入最小生成树,然后把几个相连的点合并为一个大点,由于每次的点至少会两两配对,所以最多合并 \(\log 阅读全文
摘要:
CF527E Data Center Drama 我们可以发现很明显的两条使得一个图符合条件的要求: 一个点的度数为偶数。(显然,偶数+偶数=偶数) 总边数为偶数。(显然,若有奇数条边他造成的入度/出度的总数量都为奇数,但偶数相加还是偶数) 假设我们当前已经满足了以上两点,考虑如何构造方案。 (不可 阅读全文
摘要:
[CEOI2016] kangaroo 其实就是给你一个 确定,其余未知的排列,求有多少个合法的排列,满足一个数要么比他相邻的两边都大,要么比他相邻的两边都小。 我们若是依次考虑每 ,由于他的取值还和后面有关,我们不好考虑,考虑依次将\(i 阅读全文
摘要:
思路很巧妙,首先,很明显,数轴上关于原点对称的一个点对,不论移动了多少次,都任然是对称的。 再看眼数据范围,发现其实点分布的比较紧,考虑直接将所有点看做一个整体(数轴上一个线段),然后依次移动。 关键的是,若这个整体横跨了原点的话,那么在原点的点就有答案了,对于剩下的部分,设在正半轴、负半轴的部分长 阅读全文
摘要:
平衡树学习笔记 一,二叉查找树(BST) 首先,二叉查找树是一颗二叉树,每个节点有一个关键码,它满足如下性质 一个节点的关键码不小于它的左子树的关键码。 一个节点的关键码不大于他的右子树的关键码。 因此,一个二叉查找树的中序遍历就是一个单调非递增的序列。 在一个二叉查找树中,一个关键码 的前 阅读全文