随笔分类 - 日常总结 / 系统梳理
摘要:《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.从前往后扫后缀表达式。遇到数字就入栈,遇到运算符就从栈中取
阅读全文
摘要:基础部分 最大流 Dinic 板子 #include<bits/stdc++.h> using namespace std; typedef long long ll; #define gc getchar ll rd(){ ll f=1,r=0; char ch=gc(); while(!isdi
阅读全文
摘要:Bipartite Graph. 无特殊说明时, 为点数, 为边数。 基础部分 定义和判定 点集可以分成两个集合,任意一个集合内部没有边。 性质:没有奇环。这是充要条件。用这个来 来判定二分图。 二分图最大匹配 P3386 【模板】二分图最大匹配 可Dinic\(O
阅读全文
摘要:基础部分 有K-Satisfiability问题,但 时那是NPC的, 时是trivial的,所以讨论2-Satisfiability。 问题是这样的: 个bool变量, 个限制条件,每个限制会给出对于两个bool变量之间关系的描述,如\(a_i\lor
阅读全文
摘要:基础部分 DFS生成树 在有向图中,DFS生成树有 种边: 树边:每次搜索找到一个还未访问过的节点时就形成了一条树边。 返祖边:搜索时遇到在树上的祖先节点,指向祖先的边。 横叉边:搜索时遇到已访问过的节点,但该节点不是当前节点的祖先,就形成了一条横叉边。 前向边:搜索时遇到了子树内的点,形成
阅读全文
摘要:拓扑排序 概念: DAG:有向无环图。 拓扑排序可以对一张DAG上的顶点排序。 流程: 最初将入度为 的点加入队列。 每次从队列中取出一个点,删去这个点的所有出边,将新产生的入度为 的点加入队列。这样按入队的先后顺序就把顶点排好序了。 。 拓扑排序在后的点只依赖于
阅读全文
摘要:基础部分 概念: 欧拉回路:经过每条边恰好一次的回路(回到起点)。 欧拉通路:经过每条边恰好一次的通路(不回起点)。 欧拉图:具有欧拉回路的图。 半欧拉图:不具有欧拉回路,但具有欧拉通路的图。 有向图强连通:任意两个顶点都可以通过有向边相互到达。 有向图弱连通:将有向边换成无向边后,任意两个顶点连通
阅读全文