摘要: 后续: 半在线子集卷积,逆子集卷积 特殊的二进制卷积 k-fwt RT,主要内容涉及有 高维前缀和(子集DP),高维后缀和,高维差分,快速沃尔什变换,子集卷积。 参考资料: link1 link2 知识点合集 高维前缀和 用于求解 \(f(S)=\sum_{T\subseteq S}g(T)\)。 阅读全文
posted @ 2024-11-04 08:59 spdarkle 阅读(66) 评论(0) 推荐(0)
摘要: RT,本文探讨一些简单的分块应用,不会涉及太高深的分块知识。 PS:如有错误请不吝赐教,不胜感激 PS:代码仅供参考 PS:更新了Ynoi杂题记 分块 友情提醒:#include<cmath> 望月悲叹的最初分块 分块,优雅的暴力 分块也是同线段树等结构一样,维护区间操作的,不同于线段树和树状数组的 阅读全文
posted @ 2023-01-22 00:05 spdarkle 阅读(118) 评论(0) 推荐(0)
摘要: # 二项式系数 ## 定义 首先定义阶乘: 对于任意$n\in\mathbb{N}$,定义$n$的阶乘$n!=n(n-1)……1=\prod_{i=1}^n i$ 再来定义二项式系数(组合数) 我们用符号$n\choose k$表示二项式系数,其中$n$为上标,$k$为下标。 1. 数学定义: $$ 阅读全文
posted @ 2022-12-06 17:22 spdarkle 阅读(1406) 评论(0) 推荐(1)
摘要: 莫比乌斯反演 数论函数 列举几个常见数论函数 $\varphi(n)$,欧拉函数,表示$1\sim n$中与$n$互质的数的个数 $d(n)$,表示$n$的约数个数,具体设$n=p_1^{c_1}p_2^{c_2}……p_m^{c_m}(p_1,p_2……都是质数)$,则$d(n)=\prod_{i 阅读全文
posted @ 2022-11-30 22:42 spdarkle 阅读(96) 评论(0) 推荐(0)
摘要: 莫队 贴一个神仙博客:莫队全家桶 莫队算法是对询问进行分块的一种算法,其本质是对暴力的优化。 这个算法主要是解决区间操作的,适用于求解那种区间$[l,r]$可以快速支持区间的端点移动$+1,-1$的问题,也是充分利用已知信息,避免重复计算的典范 莫队算法核心思想就是:对于所有查询的区间,通过合理的排 阅读全文
posted @ 2022-11-30 22:41 spdarkle 阅读(81) 评论(0) 推荐(0)
摘要: 考虑一个新的排列 \(p\) 被得到,每次操作需要满足: 如果我们对 \([l,r]\) 的 \(mid\) 处断开,说明在当前局面下 \([l,mid]\) 与 \([mid+1,r]\) 的元素集合分别与目标排列 \(p\) 的对应区间元素集合相同。 为了避免重复计数,我们钦定如下操作方式: 只 阅读全文
posted @ 2026-02-27 20:02 spdarkle 阅读(3) 评论(0) 推荐(0)
摘要: 集合幂级数运算 exp 考虑 \(g(x)=e^{f(x)}\) 的组合意义: \[g(x)=\sum_{i\ge 0}\frac{f^i(x)}{i!} \]这里的乘法是无交并,也就是常说的子集卷积。 当 \([x^0]f=0\) 时,\(i>n\) 的项为全零。 方法1 从组合意义的角度入手,有 阅读全文
posted @ 2026-02-25 21:52 spdarkle 阅读(9) 评论(0) 推荐(0)
摘要: PAM 定义 我们用PAM上的一个节点代表原序列的一个本质不同回文串。 由于回文串分奇和偶两个长度,我们开两颗树分别存储奇回文串和偶回文串,不妨称之为奇树,偶树。 由于回文串前后相等,我们定义一个点对应的回文串是:一次写下从它到它这棵树的根,再从根回到它的路径上所有边的字符,定义奇树的与根相连的边上 阅读全文
posted @ 2026-02-03 09:54 spdarkle 阅读(5) 评论(0) 推荐(0)
摘要: 模型: \[dp_{i,j}=\max(dp_{i-1,j}+R(i-1,j),dp_{i,j-1}+U(i,j-1)) \]目标明确:\((0,0)\to (n,m)\)。 两个方向的贡献函数可以转化到一个方向,例如 \(U\to R\)。 将贡献函数转化为若干个区间修改的形式(唉没错就是差分)( 阅读全文
posted @ 2026-01-27 21:19 spdarkle 阅读(9) 评论(0) 推荐(0)
摘要: 首先将区间加修改为后缀操作。 以前缀最大值为例。也就是执行区间修改操作之后维护前缀最值。 若后缀加正数,无影响。 若后缀加负数,那么被覆盖的是一段区间,可以线段树二分找到。 如果需要进行多次后缀修改操作之后再统一做前缀最大值。 可以转化为先做所有加正数的操作,然后把加负数的操作按照左端点从后往前做。 阅读全文
posted @ 2026-01-27 21:10 spdarkle 阅读(7) 评论(0) 推荐(0)
摘要: 我们知道,对于具有凸性的DP存在一种技巧叫 Slope Trick,一般指利用堆维护斜率拐点,但凸壳不止这一种表达方法,还有一些。 先来看看我们需要的操作: 加法:\(g(x)=f(x)+h(x)\),\(h_1(x)=C,h_2(x)=kx+b,h_3(x)=|x-a|\) 平移,然后取极值——这 阅读全文
posted @ 2026-01-27 20:55 spdarkle 阅读(25) 评论(0) 推荐(0)
摘要: P11328 贪心策略的发现的通用方法:假定最优解集合,再微调研究 很明显我们应该使用邻项交换法,假设选定了按照什么顺序参加比赛,并且参加的每一场都获得了徽章,那么考虑先操作 \(i\) 再操作 \(j\) 合法,而先操作 \(j\) 非法的条件是: \[now\le L_i,now+X_i\le 阅读全文
posted @ 2026-01-27 15:13 spdarkle 阅读(10) 评论(0) 推荐(0)
摘要: 考虑给定序列 \(a\),求出序列 \(a\) 的最短线性递推式(在固定域 \(\mathbb{F}\) 下,通常是模意义或者实数域)。 引理:对于一个无限长的递推序列 \(a\),若其满足线性递推且其最短递推式长度为 \(l\),则取前 \(2l\) 项跑Berlekamp-Massey即可得到其 阅读全文
posted @ 2026-01-25 19:34 spdarkle 阅读(13) 评论(0) 推荐(0)
摘要: 以下默认小写字母 \(\mathbf{a},\mathbf{b}\) 等表示的向量是一个行向量,\(\mathbf{1}\) 表示全 \(1\) 行向量,\(\operatorname{diag(\mathbf{a})}\) 表示一个大小 \(|\mathbf{a}|\times |\mathbf{ 阅读全文
posted @ 2026-01-21 11:03 spdarkle 阅读(11) 评论(0) 推荐(0)
摘要: 零化多项式 定义: 矩阵定义 设域为 \(\mathbb{F}\),在一个线性空间 \(\mathbb{F}^n\) 上的线性变换 \(T:V\to V\)(域为 \(\mathbb{F}\))。 若有在域 \(\mathbb{F}\) 上的多项式 \(F(z)=\sum f_iz^i\) 满足: 阅读全文
posted @ 2026-01-21 11:02 spdarkle 阅读(9) 评论(0) 推荐(0)