随笔分类 - 数学知识与证明
摘要:这里还有一个方法可以在 的时间复杂度内离线求出一个序列每个位置上的数的逆元是多少。这里该序列没有任何限制,可能唯一的限制就是逆元存在。 假设模数为 是一个质数。 考虑设该序列为 ,设其前缀积为 ,设其前缀积的逆元为 \(In
阅读全文
摘要:prufer 序列完成了从一棵大小为 的无根树到长度为 的序列的双射,下面简述其构造过程: 从一棵无根树到 prufer 序列: 我们找到其编号最小的叶子,然后删掉叶子,把其父亲加入队列。重复操作,直到整棵树剩下两个节点。 是显然可以做的,我们考虑如何
阅读全文
摘要:这里不加证明的给出线性规划的矩阵形式和其对偶线性规划的形式。 线性规划一般形式为: 其对偶形式为: \[ \begin{cases} \min B^{T}Y\\ A^{T}Y\ge
阅读全文
摘要:简介 自己卷积解决的是一类这样的问题,就两个集合的无交并,用多项式来表示就是: 做法 我们发现,如果没有第一个限制,这个就是一个简单的 FWT 就可以解决,我们考虑一下如何转化第一个限制
阅读全文
摘要:min-max 容斥 下面简述一下证明,这里只证明第一个式子,下一个
阅读全文
摘要:首先我们先来了解什么叫做斯特林数。 第一类斯特林数 或者 表示从 个元素中选出 个圆排列的方案数。 什么是圆排列,对于两个排列,如果循环相同,那么这两个排列就被视为相同的圆排列,不难发现,
阅读全文
摘要: 是集合大小为 的集合的划分数目,注意这里划分成多少个集合都是可以的。根据贝尔数的定义我们就可以得到贝尔数和第二类斯特林数之间的关系: 递推公式 贝尔数有递推公式: \[ B_n=\sum\limits
阅读全文
摘要:众所周知,树上背包如果上下界都卡紧了复杂度会是 ,下面来进行这一点的证明。 以下设节点总数为 ,背包容量最大是 。 合并两个泛化背包的复杂度为 ,其中 是第一个泛化背包的容量, 是第二个背包的容量,但这个复
阅读全文
摘要:二项式反演 第一种形式: 证明: \[ f(n)=\sum\limits_
阅读全文
摘要:数学反演总结 1 数论分块 1.1 定理 定理 1.1.1
阅读全文
摘要:在板子里新增了清除函数,这样再也不用因为所谓的辅助数组没清空而头疼了。 代码: #include<bits/stdc++.h> #define dd double #define ld long double #define ll long long #define uint unsigned in
阅读全文
摘要:一定要注意辅助数组未清空的问题,所以要安排好顺序。 代码: #include<bits/stdc++.h> #define dd double #define ld long double #define ll long long #define uint unsigned int #define
阅读全文
摘要:# 多项式乘法逆 我们考虑如何求一个多项式 使得其满足 ,其中 是一个 次多项式。 根据在我“多项式入门”博客中推导的式子,我们可以递归来做这个题。 有几个误区: 我们不能直接算出点值然后最后再
阅读全文
