随笔分类 - 学习笔记
摘要:P3386 【模板】二分图最大匹配 P8435 【模板】点双连通分量 P3388 【模板】割点(割顶) P3387 【模板】缩点 P5494 【模板】线段树分裂 P6177 Count on a tree II/【模板】树分块 P5496 【模板】回文自动机(PAM) P5236 【模板】静态仙人掌
阅读全文
摘要:一个方法是,Node 是父类,GNode,TreeNode 都是子类,在子类中定义一个父类结构体 成员函数的话,在父类中定义函数指针,对于不同的子类将他指向不同的函数 如果函数非常多可以再开函数表结构体 struct Node; struct Node{ int dis; void (*work)(
阅读全文
摘要:复杂度 ,可以处理多点共线、共面的情况,所有点共线返回 ,所有点共面返回一个退化成二维的凸包(两个面都有) 手动处理的共线共面,扰动点的话精度稍微要求高一些就寄了 这里有比较牛逼的数据:https://darkbzoj.cc/problem/1209 inline in
阅读全文
摘要:一般图最大匹配 对二分图进行匈牙利的时候,称距离交替树的根偶数条边的点是偶点,距离奇数条边的点是奇点 显然,二分图里不会有偶点和偶点的边,不会有奇点和奇点的边,如果给交替树从父亲到儿子定向,所有偶点到奇点的边是非匹配边,奇点到偶点的边是匹配边 在一般图中: 对于奇点到奇点的边,是没用的,因为走不出交
阅读全文
摘要:数学 高斯消元 需要求逆元: inline ModInt det(int n,ModInt (*a)[N]){ ModInt ans;ans=1; for(int i=1;i<=n;i++){ if(!a[i][i].x){ ans=0-ans; for(int k=i+1;k<=n;k++)if(
阅读全文
摘要:数据结构 普通堆、可删堆 struct Node{ __attribute__((always_inline))inline int operator < (const Node &o){} __attribute__((always_inline))inline int operator == (
阅读全文
摘要:图论 邻接表 struct Graph{ int fir[N],nex[M],to[M],tot; inline void add(int u,int v,int flag=1){ to[++tot]=v;nex[tot]=fir[u];fir[u]=tot; if(flag) add(v,u,0)
阅读全文
摘要:对于路径 和 判断是否有交: 对于两点 的深度较大者,判断它是否在另一条路径上 求交出来的路径 \(\operatorname{LCA}(u,s),\operatorname{LCA}(u,t),\operator
阅读全文
摘要:宣传博客:https://www.cnblogs.com/suxxsfe/p/15582572.html day ??-?? 非常摸! 我 NOIP 要完蛋! day -1 模拟赛挂的分比得的分多! 机房垫底了!(没假,真的是最后一名!) 于是晚自习都没上就摸回家去了 day 0 中午起来看了点板子
阅读全文
摘要:原论文:https://www.cs.princeton.edu/courses/archive/fall05/cos528/handouts/Efficient%20Planarity.pdf 一种 判断图平面性的做法 两个引理 引理 1:一个图是平面图的必要条件是 \(m\le
阅读全文
摘要:缺省源 -Wall -Wextra -Wunused -Wl,--stack=1024000000 --std=c++11 -O0 -D LOCAL #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> #inc
阅读全文
摘要:图的绝对中心在某节点或边上,使得所有节点到此点的距离最大值最小。 如果绝对中心在点上,那么直接对于每个 处理出 最大的 即可。 考虑在边上的情况,若在边 上距离 长度为 ,则节点 到此点距离
阅读全文