[赛记] 暑假集训CSP提高模拟2

活动投票

摩尔投票法,每次开两个变量记录一下现在的众数及其个数,出现一个不同的数时就将这个不同的数和现在的众数的一个一起删掉,这样最终剩下的就是大于 $ \frac{n}{2} $ 的众数了;

Legacy

赛时不会线段树优化建图,赛后才发现这就是道板子;

具体地,我们建两棵线段树,一棵是“出树”,路径由根节点一层层指向叶子;一棵是“入树”,路径由叶子一层层指向根节点,当然,这些边的边权都为 $ 0 $;

当我们有单点指向区间时,只需从入树的叶子节点指向出树所对应的区间,反之亦然,由点到点只需链接相应的叶子结点即可;

注意,两棵树所对应的相同叶子节点要连边权为 $ 0 $ 的边(毕竟都是一个点);

DP搬运工1

整了个欲射性DP;

设 $ f[i][j][k] $ 表示考虑前 $ i $ 个,有 $ j $ 个空段,和为 $ k $ 的方案数;

转移就不写了;

posted @ 2024-07-23 07:30  Peppa_Even_Pig  阅读(42)  评论(2)    收藏  举报