摘要:
团计数 挑战 #P-Complete (bushi 有好几种做法。 枚举 + 折半 + 高维前缀和 应该要预处理邻域,状压一下。 考虑枚举编号最小的点 \(i\),把剩下的 \(n-i\) 个点均分为 \(A\) 和 \(B\) 集合,分别用 \(O(2^{|S|})\) 的搜索搞出来所有的团。 考 阅读全文
posted @ 2024-12-23 20:11
RandomShuffle
阅读(168)
评论(0)
推荐(0)
摘要:
有各种分治:CDQ分治,树上分治,数据结构上分治,根号分治,etc. 普通分治 求逆序对 用归并排序求逆序对。 Sol: 其实逆序对是在归并排序时顺带求的,主要是归并排序。 我们要对区间\([l,r]\)从小到大排序,先对\([l,mid],[mid+1,r]\)排序(这一步体现分治思想)。 现在考 阅读全文
posted @ 2024-12-23 19:34
RandomShuffle
阅读(23)
评论(0)
推荐(0)
该文被密码保护。 阅读全文
posted @ 2024-12-23 19:29
RandomShuffle
阅读(27)
评论(0)
推荐(0)
摘要:
一些数具有特殊的意义,或是特殊的性质。 错排数 记作\(d_n\)。 如何求? 容斥做法 \[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 阅读全文
posted @ 2024-12-23 18:58
RandomShuffle
阅读(65)
评论(0)
推荐(0)
摘要:
二项式系数具有很多优美的性质,在OI中也经常出现。 基础部分 一些记号 \(\dbinom rk\):组合数/广义组合数。 \(n^{\underline m}\):\(n\)的\(m\)次下降幂。 \(n^{\overline m}\):\(n\)的\(m\)次上升幂。 常见的柿子 下降幂和上升幂 阅读全文
posted @ 2024-12-23 18:57
RandomShuffle
阅读(224)
评论(0)
推荐(1)
摘要:
OI中全是整除,于是整值函数具有重要的作用。 阅读全文
posted @ 2024-12-23 18:55
RandomShuffle
阅读(20)
评论(0)
推荐(0)
摘要:
OI需要大力处理和式的能力。 记号 求和符号 包含上下限和表达式,一般而言,\(\sum\limits_{\texttt{lower}}^{\texttt{upper}} \texttt{expression}\)。 尽量使用 \(k\) 作为式子中的变量,防止 \(i\) 写错 / 看错 / 引起 阅读全文
posted @ 2024-12-23 18:54
RandomShuffle
阅读(19)
评论(0)
推荐(0)
摘要:
《Concrete Mathematics》 Chapter 1. OI中递归的东西见的确实挺多的。 阅读全文
posted @ 2024-12-23 18:52
RandomShuffle
阅读(25)
评论(0)
推荐(0)
摘要:
概率和期望不得不说的故事。 还是要了解一些概率和期望的基本性质。 以下大多数抄的OIwiki。 样本空间、随机事件 定义 定义样本点:一个随机现象中可能发生的不能再细分的结果。 定义样本空间:所有样本点的集合。通常用\(\Omega\)表示。 定义一个随机事件:是\(\Omega\)的一个子集,由若 阅读全文
posted @ 2024-12-23 17:28
RandomShuffle
阅读(43)
评论(0)
推荐(0)
摘要:
不知道以后这里是不是只有Lagrange插值。很大概率是的。 Lagrange插值 给出\(n\)个点\((x_i,y_i)\),求确定的\(n-1\)次多项式。 Sol: 利用点值的可加性,先构造出\(n\)个\(F_i(x)\)使之满足在\(x=x_i\)处取\(y_i\),在\(x\ne x_ 阅读全文
posted @ 2024-12-23 17:22
RandomShuffle
阅读(31)
评论(0)
推荐(0)
摘要:
对OI使用计数吧!(碰拳)(阿格尼笑) 除了数学的纯粹力量之外,还需要DP和多项式的辅助。 数学基础 加法原理,乘法原理,排列组合。 容斥和计数DP 容斥技巧 容斥+计数的练习 反演 自个儿写的炫酷反演魔术 生成函数 生成函数 / 形式幂级数 / 集合幂级数 Pólya和Burnside 浅谈抽象代 阅读全文
posted @ 2024-12-23 17:17
RandomShuffle
阅读(62)
评论(0)
推荐(0)
摘要:
不得不整理数学了,感觉学了很多,但又没学很多。 递归问题 递归问题 和式 和式 整值函数 整值函数 数论 数论 二项式系数 二项式系数 特殊的数 特殊的数 生成函数 生成函数 离散概率 概率期望 渐进式 暂时咕咕咕。 阅读全文
posted @ 2024-12-23 17:07
RandomShuffle
阅读(31)
评论(0)
推荐(0)
摘要:
多项式科技 多项式全家桶 处理多项式的一些套路 高等数学 高等数学 数值算法 各种数值算法 线性代数 线性代数 数论相关技术 数论 组合数学 组合数学 组合优化 具体数学 具体数学 计数问题 计数!计数! 概率统计 概率和期望不得不说的故事 渐进估计 Master Theorem 抽象代数 浅谈抽象 阅读全文
posted @ 2024-12-23 16:54
RandomShuffle
阅读(53)
评论(1)
推荐(0)
摘要:
这里可能包括但不限于树套树。 总之是一棵树上每个结点又套了点别的什么东西。 拜谢lxl 坑开在这儿了,以后填吧。 代码复杂度比较高,建议想明白了再开始敲。 可以用来动态维护二维平面上的信息。 结构是DAG,一般不支持标记下方。但是可以标记永久化。 BIT套树 最好写的。但是也难写。 BIT套平衡树可 阅读全文
posted @ 2024-12-23 16:32
RandomShuffle
阅读(28)
评论(0)
推荐(0)
摘要:
咕咕咕。 学会了一点了。 KDT维护了\(k\)维空间中的超长方体。每个结点及其子树都在同一超长方体中。 KDT的实现与平衡树类似(其实在\(k=1\)时就是另类的平衡树,只不过不太优秀)。树上的每个结点都对应着\(k\)维空间中的一个点。然后随便维护一下信息就可以支持\(k\)维超长方体查询信息了 阅读全文
posted @ 2024-12-23 16:27
RandomShuffle
阅读(44)
评论(0)
推荐(0)
摘要:
从BST引入。 我们要高效查找一个值,那么在保证左儿子小于右儿子的二叉树上跳,期望\(O(d)\),\(d\)为深度。 二叉搜索树BST 最好\(O(\log n)\),最坏\(O(n)\)。 左子树的权值小于根的权值小于右子树的权值。 P用没有。 替罪羊树 是一种依靠重构来维持平衡的重量平衡树。在 阅读全文
posted @ 2024-12-23 16:09
RandomShuffle
阅读(166)
评论(0)
推荐(0)
摘要:
来解决树上DS问题。 因为没有能够直接高效维护树型结构的DS,于是把树剖分成链,然后拿序列上的DS去维护每一条链的信息。 树链剖分有很多种:轻重链剖分,长链剖分,虚实链剖分。 轻重链剖分 这里是轻重链剖分。常数很小。 其实不一定要用线段树维护,但用线段树维护是最常见的。 支持换根,路径修改,路径查询 阅读全文
posted @ 2024-12-23 16:05
RandomShuffle
阅读(50)
评论(0)
推荐(0)
摘要:
一大波线段树和树状数组预警。 树状数组基础部分 Binary Indexed Tree.BIT 线段树可以实现树状数组所有功能,但树状数组简单易写常数小。 树状数组利用了二进制数的特性,很精巧。 注意到一件事,若将当前点下标从低到高第一个\(1\)记作\(k\),那么当前点的范围即包含当前点的前面长 阅读全文
posted @ 2024-12-23 15:18
RandomShuffle
阅读(48)
评论(0)
推荐(0)
摘要:
典型的是字符串Trie,但是那是字符串里该讲的。 但是结构还是类似的。 01Trie 将一个二进制数插入到Trie中,每条边代表着\(0/1\)。 建树可以从高位到低位,也可以从低位到高位。看题目需要。 维护异或极值 从高位到低位建树。 对于一个数,考虑当前二进制位上的数字,尽量往相反的方向跳,跳了 阅读全文
posted @ 2024-12-23 15:07
RandomShuffle
阅读(22)
评论(0)
推荐(0)
摘要:
线性的基本数据结构 栈 先进后出,没啥好讲的,主要是应用。 关于表达式 栈可以做表达式相关的问题。 几个名词: 逆波兰式是后缀表达式,波兰式是前缀表达式。 后缀表达式求值 可以用栈做到\(O(n)\)。 建立一个栈,储存表达式中的数字。 2.从前往后扫后缀表达式。遇到数字就入栈,遇到运算符就从栈中取 阅读全文
posted @ 2024-12-23 14:45
RandomShuffle
阅读(24)
评论(0)
推荐(0)
该文被密码保护。 阅读全文
posted @ 2024-12-23 11:46
RandomShuffle
阅读(7)
评论(0)
推荐(0)
摘要:
基础部分 最大流 Dinic 板子 #include<bits/stdc++.h> using namespace std; using i64=long long; constexpr int maxn=210,maxm=5e3+10,inf=0x7fffffff; int n,m,S,T; in 阅读全文
posted @ 2024-12-23 11:32
RandomShuffle
阅读(24)
评论(0)
推荐(0)
摘要:
Bipartite Graph. 无特殊说明时,\(n\)为点数,\(m\)为边数。 基础部分 定义和判定 点集可以分成两个集合,任意一个集合内部没有边。 性质:没有奇环。这是充要条件。用这个来\(O(n+m)\)来判定二分图。 二分图最大匹配 P3386 【模板】二分图最大匹配 可Dinic\(O 阅读全文
posted @ 2024-12-23 11:25
RandomShuffle
阅读(35)
评论(0)
推荐(0)
摘要:
参考tzc_wk的博客 前缀优化建图 适用形式: 从\(x\)向\([1,i]\)连边。 从\(x\)向\([i,n]\)连边。 从\([1,x]\)向\([y,n]\)连边。 考虑建\(n\)个虚点\(s_i\)和\(n\)个虚点\(p_i\)。\(s_i\)代表\([1,i]\)的前缀,\(p_ 阅读全文
posted @ 2024-12-23 11:22
RandomShuffle
阅读(31)
评论(0)
推荐(0)
摘要:
基础部分 有K-Satisfiability问题,但\(k\ge 2\)时那是NPC的,\(k=1\)时是trivial的,所以讨论2-Satisfiability。 问题是这样的:\(n\)个bool变量,\(m\)个限制条件,每个限制会给出对于两个bool变量之间关系的描述,如\(a_i\lor 阅读全文
posted @ 2024-12-23 11:20
RandomShuffle
阅读(39)
评论(0)
推荐(0)
摘要:
大量誊抄 2023 年集训队论文。轻喷。 一些定义、定理 基础知识。 点 / 边割集 对与 \(u,v\in V\),若 \(S\subseteq V\) 满足 \(u,v\not\in S\),且 \(G[V\setminus S]\) 中 \(u,v\) 不连通,那么称 \(S\) 是 \(u, 阅读全文
posted @ 2024-12-23 11:04
RandomShuffle
阅读(41)
评论(0)
推荐(1)
摘要:
拓扑排序 概念: DAG:有向无环图。 拓扑排序可以对一张DAG上的顶点排序。 流程: 最初将入度为\(0\)的点加入队列。 每次从队列中取出一个点,删去这个点的所有出边,将新产生的入度为\(0\)的点加入队列。这样按入队的先后顺序就把顶点排好序了。 \(O(n+m)\)。 拓扑排序在后的点只依赖于 阅读全文
posted @ 2024-12-23 10:59
RandomShuffle
阅读(22)
评论(0)
推荐(0)
摘要:
基础部分 概念: 欧拉回路:经过每条边恰好一次的回路(回到起点)。 欧拉通路:经过每条边恰好一次的通路(不回起点)。 欧拉图:具有欧拉回路的图。 半欧拉图:不具有欧拉回路,但具有欧拉通路的图。 有向图强连通:任意两个顶点都可以通过有向边相互到达。 有向图弱连通:将有向边换成无向边后,任意两个顶点连通 阅读全文
posted @ 2024-12-23 10:55
RandomShuffle
阅读(117)
评论(0)
推荐(0)
摘要:
注意只有连通图才有生成树,图不连通就只有生成森林。 无向图最小生成树 都利用了贪心的思想。一些看似不是最小生成树的问题想想贪心的话或许能化归过来。 Kruskal 基本思想是按边权从小到大加边,是贪心思想。 时间复杂度\(O(m\log m)\)。 板子 sort(e+1,e+tot+1,cmp); 阅读全文
posted @ 2024-12-23 10:49
RandomShuffle
阅读(41)
评论(0)
推荐(0)
摘要:
差分约束 用于求有\(n\)个变量,\(m\)条限制,每条限制只与两个变量的差有关的问题的一组解。 一般可以转化为最短路或者最长路解决。 最短路:用三角形不等式\(dis_v\le dis_u+w\)来保证解合法,这样一条不等式等价于\(x_v\le x_u+w\)。 最长路:类似最短路,用\(di 阅读全文
posted @ 2024-12-23 10:44
RandomShuffle
阅读(30)
评论(0)
推荐(0)
摘要:
板子是一定要记的,但不够,全是思维题,要解放思想开动脑筋。 板子 Floyd 是全源最短路。 只要最短路存在(无负环),不管有向无向,边权正负,都可以用。 板子 for(int k=1;k<=n;++k){ for(int i=1;i<=n;++i){ for(int j=1;j<=n;++j) d 阅读全文
posted @ 2024-12-23 10:42
RandomShuffle
阅读(31)
评论(0)
推荐(1)

浙公网安备 33010602011771号