随笔分类 - 算法
1
摘要:计算几何 基础知识 点积 在上的投影乘以的模长 叉积 围成的平行四边形的有向面积 直线与线段 记录直线上一点和直线方向 线段记录线段端点 或记录线段起点和向量终点 判断线段相交(快速排斥实验与
阅读全文
摘要:后缀数组 int x[N],y[N],c[N],sa[N],rk[N],h[N]; for(int i=1;i<=n;++i) ++c[x[i]=s[i]]; //c[i]是桶,x[i]是第i个元素的第一关键字排名 for(int i=2;i<=m;++i) c[i]+=c[i-1]; //求前缀和
阅读全文
摘要:多项式乘法逆 给定 求满足 假设已知 $$ H(x)F(x)\equiv 1\ (mod\ x^{\lceil\frac{n}{2}\rceil})\ F(x)(G(x)-H(x))\equiv 0\ (
阅读全文
摘要:证明方法 反证法:交换当前状态下的两个元素后,答案不会变得更优,则当前状态已经是最优解 归纳法:先证明边界成立,再证明成立时成立 常见类型 交换邻项排序贪心 例题 [NOIP2012 提高组] 国王游戏 设的参数为,
阅读全文
摘要:树的直径 定义 树上最长链(最远点对) 求解 解法一:贪心法 任取一点作为起点,找到树上距离该点最远的点,记作,以为起点找到树上距离最远的点,记作,到即为直径 优点:起点和终点方便获得 缺点:不能处理负边权 解法二:树 任取一点作为根,记录每点
阅读全文
摘要:P4198 楼房重建 维护两个信息,一个是区间最大值,一个是仅考虑当前区间影响的答案 合并时左区间答案可以直接合并,右区间答案需要计算左区间影响 $$ans[p]=ans[ls(p)]+calc(mid+1,r,rs(p),mx[l
阅读全文
摘要:强连通 若一张有向图的节点两两相互可达,则称这张图是强连通的 强连通分量:极大的强连通子图 DFS树 对一个图任取一个节点,跑建出的树 树边:每次搜索找到一个还没有访问过的节点的时候就形成了一条树边 返祖边:也叫回边,指向祖先节点的边 横插边,在搜索时遇到了一个已经访问过的节
阅读全文
摘要:定义 通路:一条从到的不经过重复边的一条路经,长度为通路中边的个数 回路:起点和终点相同的通路 欧拉通路:经过图所有边一次的通路 欧拉回路:经过图所有边一次的回路 欧拉图(图):具有欧拉回路的图 半欧拉图:具有欧拉通路但不具有欧拉回路的图 平凡图:只有一个节点的
阅读全文
摘要:洛谷P1044 [NOIP2003 普及组] 栈 定义 经典问题:出栈序列数 由栈性质可得,某一时刻总操作的入栈数不能少于出栈数,若将入栈视为,出栈视为,则任意时刻该序列前缀和不能小于零,且与总数相等(均为个 如何求序列方案数 公式 易得,不剔除非法序列的情况下
阅读全文
摘要:定义 顶点可以分成两个集合,每条边的两个顶点分别位于集合中的图 以该图为例,标记黄色顶点属于集合,灰色顶点属于集合,则所有边的两个顶点分属于集合,该图是一张二分图 二分图中不含奇环(不含奇环的图都是二分图) 判定 黑白染色:用对原图的顶点进行染色,
阅读全文
1