上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 18 下一页
摘要: https://github.com/lydrainbowcat/tedukuri/blob/master/%E9%85%8D%E5%A5%97%E5%85%89%E7%9B%98/%E6%AD%A3%E6%96%87%E5%8C%85%E5%90%AB%E7%9A%84%E7%A8%8B%E5%B 阅读全文
posted @ 2021-02-20 09:53 purinliang 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 2-SAT,表示为一系列约束 \(x_i\; or\; x_j\) 即两个变量中至少选择一个为真。 那么,假如其中一个选择了假,另一个一定要选择为真。 拆点,把变量 \(x_i\) 取真用点 \(V_i\) 表示,变量 \(x_i\) 取假用点 \(V_{i+n}\) 表示。那么上面的一个约束就连边 阅读全文
posted @ 2021-02-18 22:25 purinliang 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 一般图,通过点双连通分量建立圆方树,每个点双连通分量建一个方点,方点向原图的点(圆点)连边,圆点之间的边(原图的边)删去。变成一棵树。 阅读全文
posted @ 2021-02-18 02:19 purinliang 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 不存在桥的图,称为边双连通图。原图可以经过tarjan算法求出桥,桥就连接了两个边双连通分量,假如把桥的都堵住(注意是只能把桥堵住,不能堵住点),然后每一块找一次连通块,就可以找到每个点所属的双连通分量,然后可以缩点成一棵树。 struct EBCC { static const int MAXN 阅读全文
posted @ 2021-02-18 02:01 purinliang 阅读(112) 评论(0) 推荐(0) 编辑
摘要: (以线段树-区间修改为例,假如是单点修改只需要把PushDown去掉) 可以解决形如: 无序数组中第一个大于等于x的值的位置 pair<int, ll> LowerBound(int u, int l, int r, ll x) { pair<int, ll> res = {-1, -LINF}; 阅读全文
posted @ 2021-02-17 12:48 purinliang 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 仔细想想这个并不是什么正常的线段树,因为它除了PushDow有一部分信息是从上往下传递的。 http://acm.hdu.edu.cn/showproblem.php?pid=5306 1.区间更新min 2.区间查询max 3.区间查询sum struct SegmentTreeBeats { # 阅读全文
posted @ 2021-02-17 11:17 purinliang 阅读(62) 评论(0) 推荐(0) 编辑
摘要: https://oi-wiki.org/ds/lct/ https://www.luogu.com.cn/problem/P1501 和重链剖分的概念有点点像。或者应该叫做实链剖分。 LCT维护的“原树”并非是一棵树,而是一片森林。森林中的树可以切成各种形状的树,也可以把不同的树合并。LCT内部的“ 阅读全文
posted @ 2021-02-15 12:23 purinliang 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 原文链接:https://codeforces.com/blog/entry/58316 更多数据结构技巧:https://codeforces.com/search?query=%23data+structure 维护一个类似mutiset的数据结构,支持以下操作: 1、向数据结构中添加c个元素x 阅读全文
posted @ 2021-02-14 13:42 purinliang 阅读(62) 评论(0) 推荐(0) 编辑
摘要: TODO:可能需要一个更快速复制、合并的版本,下面这个常数非常大。 注意这里的z表示是否可以选取若干个非空的线性基组合出0。对于某些问题来说如果插入的数字中带有0的话,需要特殊处理。 下面版本的线性基的插入过程实际上是两步:检查新出现的元素和线性基中所有向量xor之后是不是为0,虽然检查到一半就已经 阅读全文
posted @ 2021-02-11 09:46 purinliang 阅读(167) 评论(0) 推荐(0) 编辑
摘要: A*算法: 单源单汇第k短路: 给定一个源点s和一个汇点t,求解从s到t的第k短路。 建立反图,从反图中,以t为源点跑单源最短路,得到原图中i点到t点的最短路val[i](也就是反图中t点到i点的最短路) 用val[i]作为估价函数,当前**状态(dis[i],i)**的距离为dis[i],把(di 阅读全文
posted @ 2021-02-10 04:57 purinliang 阅读(110) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 18 下一页