摘要:
二项式反演 常用结论 \[ g_n=\sum_{i=0}^n(-1)^i\binom ni f_i\Leftrightarrow f_n=\sum_{i=0}^n(-1)^i\binom ni g_i\\ g_n=\sum_{i=0}^n\binom ni f_i\Leftrightarrow g_ 阅读全文
摘要:
类欧几里得算法 类欧几里得算法之所以被称为类欧几里得是因为其算法复杂度证明与扩展欧几里得算法类似。 我认为类欧更偏向于是一种思想。 其主要思想就是寻找可以简便计算的边界,然后通过化式子将不同情况化为边界递归计算。 P5170 【模板】类欧几里得算法 推导 \[ f(a,b,c,n)=\sum_{i= 阅读全文
摘要:
CF710F String Set Queries 题意 动态支持加入删除字符串和字符串匹配 思路 动态 AC自动机 先不考虑动态情况。对于加入一个字符串,直接插入到自动机即可。 考虑删除。发现对于答案具有可减性,意思是对于同一个匹配串,答案可以表示为在自动机中匹配的答案减去删去的所有串匹配的答案。 阅读全文
摘要:
P4827 [国家集训队] Crash 的文明世界 题意 求出对于树上每个点 \(x\) 的 \(\sum_{u=1}^ndis(x,u)^k\)。所有边长为 1。 思路 根据斯特林反演: \[ m^n=\sum_{j=0}^n\begin{Bmatrix}n\\j\end{Bmatrix}C_m^ 阅读全文
摘要:
P5296 [北京省选集训2019]生成树计数 题意 求一个带权无向图所有生成树边权和的 \(k\) 次方的和。 思路 首先有一个结论:\(a^i\) 的 EGF 卷 \(b^i\) 的 EGF 等于 \((a+b)^i\) 的 EGF。即: \[ F(a)=\sum_{i=0}\frac{a^ix 阅读全文
摘要:
P4494 [HAOI2018]反色游戏 题意 给你一个无向图,图上每个点是黑色或者白色。你可以将一条边的两个端点颜色取反。问你有多少种方法每个边至多取反一次使得图上全变成白色的点。 思路 若任意一个连通块黑色点的个数为奇数那么无解。 先考虑树的情况。发现如果是树,并且黑点个数为偶数,有且仅有一种方 阅读全文
摘要:
最小路径覆盖 路径覆盖 路径覆盖指一个路径的集合中所有路径点集的并集为原图点集。最小路径覆盖使路径集合大小最小。 路径覆盖分为可否重复选点两种。可重复选点在建模中加大流量即可。 网络流模型 建超级源 \(S\) 和超级汇 \(T\),将每个点拆点。 将 \(S\) 向所有点 \(i\) 连边,将所有 阅读全文
摘要:
最大权闭合子图 闭合子图 定义有向图的一个闭合子图是该有向图的一个点集,其中这个点集中的所有点的出边连向的还是点集中的点。 最大权闭合子图 给有向图的点加一个点权,能得到的点权最大的闭合子图。 网络流模型 将所有正点权的点的点权全部加入答案。接下来我们将原来正点权的点变成负点权。现在图上全是负点,我 阅读全文
摘要:
线段树维护单调栈/单调递增序列 线段树在维护区间时可以维护一个单调栈。 P4198 楼房重建 题意:维护全局最大上升序列大小。 更新 线段树当前节点存储整个区间的最大值,对于该题,左子树的区间答案可以直接继承,然后用左子树区间的最大值查询右子树的答案并记录在该节点上。 void update(con 阅读全文
摘要:
LCT(Link-Cut-Tree) LCT维护一个森林,即把每个节点用splay维护,可以进行许多操作: 查询、修改链上的信息 随意指定原树的根(即换根) 动态连边、删边 合并两棵树、分离一棵树 动态维护连通性 等 主要性质 每一个Splay维护的是一条从上到下按在原树中深度严格递增的路径,且中序 阅读全文