11 2024 档案
摘要:考虑先写个暴力 的输出一下结果,看一下 n = 4, 5, 6 的(尤其是 n = 6 的)结果,尤其是每个点像其余哪几个点连边,然后就想到了构造方案。 代码 const int N = 109; int n; int e[N][N]; void skymaths() { r
阅读全文
摘要:C 看错题了,是至少而不是恰好。 偶数就 1122... 这样,奇数考虑令 1 10 26 为颜色 1,23 和 27 为颜色 2,接下来的都是偶数长的区间。 D 相当于连双向边,我们只记录当前作为本质不同的代表的点,那么最容易被连边的就是左上角的点,我们记录一个单调栈即可,用并查集维护。 E 这个
阅读全文
摘要:个人记录,可能存在一些错误或者问题。 好题。 这题和元旦激光炮有一点像,都是考虑根据给定的矩阵大小关系,在不确定某个位置具体值的情况下,把一定大于/小于答案的位置挖掉。 但是本题可以说是拓展了,因为它在确定的时候也递归成了一个子问题。 我们要找某个 矩阵(满足从左上到右下
阅读全文
摘要:思路 构造,且上界并不是特别严格。/bx/bx/bx 首先加法比较“混合”,考虑转成位运算,具体地,钦定操作的 满足 。 考虑递归成子问题,按照 popcount 分组,有一个关键观察是:我们在操作一个 的时候,可以将任意几个 \(d
阅读全文
摘要:为什么 考虑 Lucas 定理,对于质数 p,有 \[\binom{n}{m}\bmod p = \binom{\lfloor n / p\rfloor}{\lfloor m / p\rfloor}\cdot \bin
阅读全文
摘要:首先发现这个过程的限制比较多,那么考虑重新描述这个过程。 令 表示在第 个物品上使用了 张券,那么一组 就描述了一个方案。 方便起见,令 为前 i 个物品买完后剩了几张券,那么有: \
阅读全文
摘要:简化代码 注意 hash 的值具有可加减的特性,可以极大程度的简化代码。 同时可以维护可能作为答案的 “匹配池” 中的 hash 值,这样就不用进行(超级 dirty work 的)树加减了。 树哈希是一种集合哈希(?),所以支持加减!!! hash 函数 我也不知道为什么大家都在用这个 hash
阅读全文
摘要:大意就是用 vector 直接记录 无需显式建出叶向树,只需记录 fa。 dis 每个中只用记录 dep 个值,常数比 map 等小。 但是从上向下不太好做,加点删点是比较好做的。 void getsz(int u, int lst = 0) { mxsz[u] = 0; sz[u] = 1; fo
阅读全文
摘要:前言 Update 2024.11.6 突然发现一个错误,应该是:只需要保证在加入 的时候, 已经有值了即可。 经过和 @gza 和 @ORzyzRO 的讨论应该会了这道题。谢谢你们。 前置知识:杨表基础知识,还有 Robinson–Sche
阅读全文
摘要:FWT(A) \cdot FWT(B) 是点乘!!!
阅读全文