摘要:
各种图的计数 有标号无根树 Prüfer序列 引入强而有力的Prüfer序列。 将一棵 个节点从 到 标号的无根树用 中的 个整数表示。可以理解为完全图的生成树与数列之间的双射关系。 其建立 每次选编号最小的叶子,记录它连向的点的编号,并删除这个叶 阅读全文
摘要:
有各种分治:CDQ分治,树上分治,数据结构上分治,根号分治,etc. 普通分治 求逆序对 用归并排序求逆序对。 Sol: 其实逆序对是在归并排序时顺带求的,主要是归并排序。 我们要对区间 从小到大排序,先对 排序(这一步体现分治思想)。 现在考 阅读全文
摘要:
每次都选当下的最优解,一步步得到全局的最优。 菜就多练 贪心练习 方法 邻项交换法 反悔贪心 拟阵 典中典 邻项交换例子 luogu国王游戏 恰逢 H 国国庆,国王邀请 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让 阅读全文
摘要:
一些数具有特殊的意义,或是特殊的性质。 错排数 记作 。 如何求? 容斥做法 \[d_n=n!-\sum\limits_{1\le k\le n}(-1)^{k-1}\dbinom{n}{k}(n-k)!=n!\sum\limits_{0\le k\le n}(-1)^k\dfrac{1 阅读全文
摘要:
OI中全是整除,于是整值函数具有重要的作用。 阅读全文
摘要:
OI需要大力处理和式的能力。 阅读全文
摘要:
《Concrete Mathematics》 Chapter 1. OI中递归的东西见的确实挺多的。 阅读全文
摘要:
概率和期望不得不说的故事。 阅读全文
摘要:
不知道以后这里是不是只有Lagrange插值。很大概率是的。 Lagrange插值 给出 个点 ,求确定的 次多项式。 Sol: 利用点值的可加性,先构造出 个 使之满足在 处取 ,在\(x\ne x_ 阅读全文
摘要:
对OI使用计数吧!(碰拳)(阿格尼笑) 除了数学的纯粹力量之外,还需要DP和多项式的辅助。 数学基础 加法原理,乘法原理,排列组合。 容斥和计数DP 容斥技巧 容斥+计数的练习 反演 自个儿写的炫酷反演魔术 生成函数 生成函数 Polya和Burnside 图计数 图计数 阅读全文
摘要:
不得不整理数学了,感觉学了很多,但又没学很多。 递归问题 递归问题 和式 和式 整值函数 整值函数 数论 数论 二项式系数 二项式系数 特殊的数 特殊的数 生成函数 生成函数 离散概率 概率期望 渐进式 暂时咕咕咕。 阅读全文
摘要:
多项式科技 多项式全家桶 高等数学 高等数学 数值算法 各种数值算法 线性代数 线性代数 数论相关技术 数论 组合数学 组合数学 具体数学 具体数学 计数问题 计数!计数! 概率统计 概率和期望不得不说的故事 渐进估计 Master Theorem 阅读全文
摘要:
这里可能包括但不限于树套树。 总之是一棵树上每个结点又套了点别的什么东西。 拜谢lxl 坑开在这儿了,以后填吧。 代码复杂度比较高,建议想明白了再开始敲。 可以用来动态维护二维平面上的信息。 结构是DAG,一般不支持标记下方。但是可以标记永久化。 BIT套树 最好写的。但是也难写。 BIT套平衡树可 阅读全文
摘要:
咕咕咕。 学会了一点了。 KDT维护了 维空间中的超长方体。每个结点及其子树都在同一超长方体中。 KDT的实现与平衡树类似(其实在 时就是另类的平衡树,只不过不太优秀)。树上的每个结点都对应着 维空间中的一个点。然后随便维护一下信息就可以支持 维超长方体查询信息了 阅读全文
摘要:
从BST引入。 我们要高效查找一个值,那么在保证左儿子小于右儿子的二叉树上跳,期望 , 为深度。 二叉搜索树BST 最好 ,最坏 。 左子树的权值小于根的权值小于右子树的权值。 P用没有。 替罪羊树 是一种依靠重构来维持平衡的重量平衡树。在 阅读全文
摘要:
来解决树上DS问题。 因为没有能够直接高效维护树型结构的DS,于是把树剖分成链,然后拿序列上的DS去维护每一条链的信息。 树链剖分有很多种:轻重链剖分,长链剖分,虚实链剖分。 轻重链剖分 这里是轻重链剖分。常数很小。 其实不一定要用线段树维护,但用线段树维护是最常见的。 支持换根,路径修改,路径查询 阅读全文
摘要:
一大波线段树和树状数组预警。 树状数组基础部分 Binary Indexed Tree.BIT 线段树可以实现树状数组所有功能,但树状数组简单易写常数小。 树状数组利用了二进制数的特性,很精巧。 注意到一件事,若将当前点下标从低到高第一个 记作 ,那么当前点的范围即包含当前点的前面长 阅读全文
摘要:
典型的是字符串Trie,但是那是字符串里该讲的。 但是结构还是类似的。 01Trie 将一个二进制数插入到Trie中,每条边代表着 。 建树可以从高位到低位,也可以从低位到高位。看题目需要。 维护异或极值 从高位到低位建树。 对于一个数,考虑当前二进制位上的数字,尽量往相反的方向跳,跳了 阅读全文
摘要:
线性的基本数据结构 栈 先进后出,没啥好讲的,主要是应用。 关于表达式 栈可以做表达式相关的问题。 几个名词: 逆波兰式是后缀表达式,波兰式是前缀表达式。 后缀表达式求值 可以用栈做到 。 建立一个栈,储存表达式中的数字。 2.从前往后扫后缀表达式。遇到数字就入栈,遇到运算符就从栈中取 阅读全文