一些解题思路

非子树异或最大值

(TDOG CSP模拟 Day1T4)

题意:给一棵有根树,每个点有点权。对于每个点,求不在该点子树内的任意两点异或最大值。

思路:考虑无子树限制的异或最大值,设这一对点分别为$x,y$。

这个值可以贡献的点是除了$x,y$到根的路径上的点之外所有的点。对于$x,y$到根的路径上的点可以暴力01trie。时空复杂度$O(n\log S)$


序列背包

(洛谷P5391 [Cnoi2019]青染之心)

题意:对一个可在末尾增加/删除的序列做完全背包,每个操作后都要输出

思路:操作序列可以视为一棵操作树,则问题转化为树上背包。

对操作树进行重链剖分,记录每条重链的背包,轻链直接dfs

具体实现方法为:先遍历一个点的每一个轻儿子,对每个轻儿子都新开一个数组存dp状态

然后再dfs该点重儿子,沿用该点的dp状态数组即可

由于每个点到根上的重链、轻链数不超过$\log n$,所以空间$O(V\log q)$,时间$O(Vq)$


枚举三元环

题意:给定$n$个点,$m$条边的无向图,枚举其所有三元环

思路:从度数小的点向度数大的点连边,枚举一点两边即可 证明


二维曼哈顿距离与切比雪夫距离的转换

距离一个点曼哈顿距离为定值的点组成一个菱形,不方便处理,可以将其转化成切比雪夫距离,使其变为一个正方形,便于处理,反之同理

来源:洛谷日报


数学公式转化为树上问题

(CF1580D Subsequence)

题解1

题解2


可反悔贪心

洛谷P1792题解

可撤销贪心&模拟费用流


区间计数

(CF1609F Interesting Sections)

思路:发现符合条件的区间是连续的,把区间放到二维平面上,区间$[l,r]$对应点$(x,y)$,进行二维数点


特殊条件下快速求组合数

这玩意……tmd想不到啊

思路:众所周知,$C(n,m)=\dfrac{n!}{m!(n-m)!}$

posted @ 2021-09-26 15:22  huangxuanao  阅读(126)  评论(0编辑  收藏  举报