- 博客(7)
- 收藏
- 关注
原创 Rayan Programming Contest 2024 - Selection (Codeforces Round 989, Div. 1 + Div. 2) 题解 (A~E)
上限是lcmab,直接枚举即可。
2024-12-01 03:34:23
1377
2
原创 2024CCPC哈尔滨 题解 ABCEGJKLM
构造题,注意到可以两点之间可以连不止一条边,所以我们可以创建一系列初始节点,让i向i1连一条权值为0和 一条权值为1的边,这样我们就能得到0000...∼1111...之间的所有值。所以我们可以将目标区间LR划分成一系列子区间LiRi,使得Lixxxx000...0Rixxxx111...1。具体实现可以枚举每一位,对于第i位,如果L的这一位为0,那么我们可以把这一位置为1,这样我们可以得到一段区间xxx100...0∼xxx。
2024-11-05 01:06:57
1045
2
原创 洛谷 P2606 [ZJOI2010] 排列计数 题解
个分给左子树,剩下的给右子树。由于每一层的决策都是独立的,所以最后的答案就是这些相乘。,那么根节点的选择显然只有一种,剩下由其子树内部分配,其中这一步的方案数为。这个条件,可能一开始不会有什么想法。的倍数,这种情况下没办法正常的维护逆元,所以需要用到。这样我们就能很容易看出来,这是小根堆的形式。现在我们从根节点开始考虑,假设左子树的大小为。值得注意的是,这题可能存在。
2024-10-30 20:24:29
920
原创 洛谷 P3214 [HNOI2011] 卡农 题解
个集合异或起来, 得到一个新的集合, 只要我们把这个集合插入, 是一定可以满足第三个限制的. 此时的方案数就是前。个集合之后, 它们已经合法了, 那么这时候我们可能会新加入一个空集, 这样是不合法的. 我们记。个集合就会跟剩下的那个集合重复, 违背了第二个限制, 这也是不合法的. 这个时候我们需要减去。个集合是很好确定的. 由于我们要满足第三个限制, 所以我们可以把前。第一个限制是好解决的, 我们只需要在求出所有的有序方案数之后除以。个集合合法的方案数, 那么我们需要减去。个集合, 就一定是合法的.
2024-10-30 15:42:00
974
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人