模板
文章平均质量分 55
Mint-hexagram
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
折半搜索-oier复健练习题目
折半搜索常用于复杂度O(n!)级的搜索问题,当我们发现很显然可以将问题划分为两部分分别搜索枚举,再合二为一求出最终答案时,我们可以选择使用折半搜索。原创 2023-10-21 16:34:02 · 919 阅读 · 1 评论 -
树链剖分(一)-重链剖分:模板&例题
重链剖分的模板学习及基础模板练习原创 2022-02-25 16:17:52 · 880 阅读 · 1 评论 -
2-SAT问题合集-ybtoj
2-SAT的合集原创 2022-02-24 10:46:23 · 2555 阅读 · 0 评论 -
【模板】网络流(一)---最大流(EK/Dinic)
一些基础的最大流算法原创 2022-01-24 12:10:05 · 377 阅读 · 0 评论 -
后缀数组-后缀排序
后缀数组-一个可以解决多种字符串中字串问题的优秀算法原创 2022-01-20 12:30:45 · 1196 阅读 · 0 评论 -
计算几何(四)二维凸包
求二维凸包的模板原创 2022-01-20 12:28:48 · 211 阅读 · 0 评论 -
树分治--点分治模板
点分治模板-处理子树问题的优秀算法原创 2022-01-20 12:28:24 · 436 阅读 · 0 评论 -
树分治--点分树模板
点分树模板原创 2022-01-20 12:27:49 · 311 阅读 · 0 评论 -
Manacher模板
manacher模板,用于O(n)求最长回文字串原创 2022-01-20 12:27:17 · 477 阅读 · 0 评论 -
计算几何(五)旋转卡壳
旋转卡壳模板原创 2022-01-20 12:27:01 · 541 阅读 · 0 评论 -
AC自动机模板
AC自动机的模板原创 2022-01-20 12:26:33 · 160 阅读 · 0 评论 -
计算几何(三)多边形
写在前面 本文基于fxj巨佬的计算几何全家桶,并基于原文进行了自己的一些整理了经验补充,阅读本文前请前往支持巨佬fxj。 表示: 用一个VVV数组顺时针或者逆时针存储多边形的所有顶点。 调用函数时传入数组和顶点数。 求多边形面积: 取任意一个点OOO,多边形面积为: S=12∑i=1nOAi→×OA→i%n+1S=\frac{1}{2}\sum^{n}_{i=1} \overrightarrow{OA_i} \times\overrightarrow{OA}_{i\%n+1}S=21i=1∑nOAi原创 2022-01-17 14:16:23 · 906 阅读 · 0 评论 -
计算几何(二):线段与直线,点与线,线与线的关系
part1:线段与直线 struct line { V d,a,b; }; inline line trans(double a,double b,double c,double d) { V dd(c-a,b-d),x(a,b),y(c,d); dd=dd/len(dd); return (line){dd,x,y}; } inline line trans(const V &a,const V &b) { V dd(a-n); dd=dd/len(dd); retur原创 2022-01-17 11:11:33 · 2422 阅读 · 1 评论 -
树链剖分模板
part0:数组内容 part1:dfs1 功能: <1>标记每个点的深度dep[] <2>标记每个点的父亲fa[] <3>标记每个非叶子节点的子树大小(含它自己) <4>标记每个非叶子节点的重儿子编号son[] void dfs1(int now) { son[now]=-1; siz[now]=1; for(int i=head[now];~i;i=e[i].nxt) { int v=e[i].v; if(v!=fa[now])//或(!d原创 2022-01-17 09:21:57 · 224 阅读 · 0 评论 -
计算几何(一):点,向量
struct V { double x,y; V():x(0),y(0){}; V(double a,double b):x(a),y(b){}; } inline void input(V &a){a.x=read();a.y=read();} void print(const V &a,int op=1){printf("%.10lf %.10lf",a.x,a.y);putchar(op?10:32);} //op=endl or space inline V opera原创 2022-01-17 09:14:57 · 1448 阅读 · 0 评论 -
平衡树学习笔记(一)二叉搜索树
✧<1>定义: (1)空树为一棵二叉搜索树 (2)二叉搜索树左子树中所有点的权值均小于其根节点 (3)二叉搜索树右子树中所有点的权值均大于其根节点 (4)二叉搜索树的左右子树均为二叉搜索树 ✧<2>变量的前置定义: 在接下来的代码块中,我们约定n为结点个数h为高度,val[x]为结点处存的数值,cnt[x]为结点x存的值所出现的次数,lc[x]和rc[x]分别为结点x的左子结点和右子结点。 sum为二叉搜索树中节点的个数,siz[x]为x所在的子树的大小(包括x自身,siz[x]的大原创 2021-10-13 13:40:12 · 252 阅读 · 0 评论 -
tarjan算法求强连通分量<模板>
dfn[now]表示在now点在dfs搜索树中的dfs序。 low[now]表示的是now通过后向边、横叉边能到达的dfn最小的点的dfs序。 我们取一个强连通分量中dfn最小的点作为整个强连通分量的代表元素。 因此low[now]的实际意义就是now所在的强连通分量的代表元素的点的dfn值。 tot表示当前图中强连通分量的数量。 col[now]表示now所在的强连通分量的编号,这个数组存在的意义是为了便于缩点时合并信息。 stack是手动维护的栈,这里栈的使用非常简单,没有必要使用STL,此外手动维护的原创 2021-09-23 14:32:23 · 268 阅读 · 0 评论
分享