合集-学习笔记

[学习笔记] MST(最小生成树) - 图论
摘要:[学习笔记] MST(最小生成树) - 图论[学习笔记] MST(最小生成树) - 图论 MST,最小生成树,一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。——百度百科 对于最小生成树,有几个比较常见的性质: 对于任意最小生成树,它包含所有的n个节点以及n-1条边。 若边权
72
0
0
[学习笔记] LCA - 图论
摘要:[学习笔记] LCA - 图论[NOIP2013 提高组] 货车运输 最大生成树+LCA+倍增 好家伙,这道题我写了一个晚上,调了两个晚上,对于这道题我颇有感触。但这道题确实好,实实在在的蓝题,让我发现了许多关于LCA的问题。 首先,这个题给的是一个无向图,并不是个树,为了减少运算量,我们可以把它变成一个树。运用Kruskal算
14
0
0
[学习笔记] 树上差分 - 图论
摘要:[学习笔记] 树上差分 - 图论前置知识:树,LCA,前缀和与差分 边差分 这个名字是在网上看到的,不理解为什么要叫这么一个名字,可能是因为它与 树链修改 有关。当然,用于 树链修改 单点查询 非常方便~ 看这个图,该图是以点1为根进行DFS的。如果我们要把从3 -> 4这条树链上所有的点统统加上1,可以都转化为对到根节点的树链的
9
0
0
[学习笔记] 高斯消元 - 线性代数
摘要:高斯-约旦消元 下面给两道板子 【模板】高斯消元法 最最基础的板子,没啥哆嗦的。下面给出高斯-约旦消元解法。 #include<bits/stdc++.h> using namespace std; int n, dt = 1; double eps = 1e-9, m[102][102]; int
42
0
0
[学习笔记] 丢番图方程 & 同余 & 逆元 - 数论
摘要:首先,他们几个有着极大的相似性。另外,他们的各自的思想都能够很好的服务于另外几个,有助于加深理解。 文中有些letax公式抽风了,全屏之后应该能看得见…… 线性丢番图方程 丢番图不是个图啊!他是个man…… 现在主要说的是二元线性丢番图方程:通用形式为 ax+by=c。其中常数全都为整数。很
264
0
0
[学习笔记] 质数与唯一分解定理 - 数论
摘要:[学习笔记] 质数与唯一分解定理 - 数论素性测试 素性测试就是判断某个数是否为质数。 费马素性测试 费马小定理 内容:若 p 为质数,a为任意整数,有 ap11(mod p) 那么可以多次随机取一个基数 a(1,p)p 满足上式,那么它为质数的可能性就越大。称
189
0
0
[学习笔记] 乘性函数 - 数论
摘要:[SDOI2012] Longge 的问题 我们要求 i=1ngcd(i,n),但 gcd 没啥卵用,所以尝试给这n个正整数分组。对于 gcd(i,n)=1 的数给他们归到 G(1) 这个集合里去,当然,这个集合元素的数量为 \(\
23
0
0
[学习笔记] hash & kmp & Trie树 - 字符串
摘要:Hash Oulipo 没啥好说的,进制hash板子。 #include<bits/stdc++.h> using namespace std; #define ull unsigned long long const int N = 1e6 + 1; int n, lw, lt, ans; ull
15
0
0
[学习笔记] 单调队列优化DP - DP
摘要:单调队列优化DP 简单好想的DP优化 真正的教育是把学过的知识忘掉后剩下的东西 —— *** 对于一个转移方程类似于 dp[i]=max(min){dp[j]+b[j]+a[i]}  xi<=j<=yi 的DP,如果暴力实现的话复杂度是 O(n2),实现方法是双层for
40
0
0
[学习笔记] 斜率优化DP - DP
摘要:这个真的好容易啊 ——wzw 斜率优化dP 例题 [SDOI2012] 任务安排 毒瘤题,让我惨淡经营了两天。这道题luogu有简单版,可以先去看简单版。 显然这是一只DP题,直接开始推狮子。令 dp[i] 表示以第 i 个任务为终止时的最小花费。tw 都表示的是前缀和
13
0
0
[学习笔记] 树链剖分(重链剖分) - 图论 & 数据结构
摘要:树链剖分 树链剖分,用于解决一系列的树中链上问题的算法(数据结构)。其实对于树链修改和树链求和问题可以使用更加方便的树上差分解决,但是对于像求树链最大(小)权值之类的更复杂的问题,差分就显得不够用了。树链剖分大概就是把一颗树切分成为多条链,每一条链上节点的 dfn 都是顺序的,所以能够用线段
140
0
0
[学习笔记] 动态开点权值线段树合并 - 数据结构
摘要:权值线段树 例题 【模板】普通平衡树 #include<bits/stdc++.h> using namespace std; const int N = 1e5 + 1; int n, val[N], opt[N], num[N], cnt, len, san[N], m[N], rnk[N];
28
0
0
[学习笔记] 长链剖分 - 图论
摘要:长链剖分 字面意思,不同于重链剖分,每次选取最长的树链进行剖分,直到剖完为止。其原理和重链剖分相似。建议学习长链剖分前,先学习 重链剖分。 重链剖分能做的,长链剖分都能做(当然不包括找重儿子),长链剖分还能以 O(nlogn)O(1) 的优秀复杂度找到 k 级祖先(当前节点的第 \
11
0
0
[学习笔记] Splay & Treap 平衡树 - 数据结构
摘要:[学习笔记] Splay &amp; Treap 平衡树 - 数据结构[学习笔记] Splay & Treap 平衡树 - 数据结构 Splay 树 又名伸展树,一种平衡二叉查找树,通过 Splay 操作不断把节点旋到根节点来维护整颗树的平衡。 说人话,很玄学的玩意,复杂度是单 log 级别的。为啥是单 log,科学的解释请移步 OI-WIKI。
15
0
0
点击右上角即可分享
微信分享提示
深色
回顶
收起