上一页 1 2 3 4 5 6 ··· 15 下一页
摘要: \(2-SAT\) 来自 \(\text{OI-WIKI}\) 和 \(\text{Anguei}\) 的题解 定义: 将两个部分拆开,分为 \(2\) 和 \(SAT\) ,有一串 \(bool\) 类型的变量,对每个元素赋值,要求满足要求。 定义 \(\neg\) 表示不行,\(\vee\) 表 阅读全文
posted @ 2021-11-04 22:52 Evitagen 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 负环: 因为负环肯定是越跑越短的,但是一个图上所有点都选上时,肯定不是最短路。因此,我们可以通过这一点来思考怎么处理负环: 处理负环的方式只有 \(\text{SPFA}\) ,\(\text{dijkstra}\) 是不能用的。 我们在每次更新边权时,如果是正边,那么只可能对下一个答案更新一次,所 阅读全文
posted @ 2021-11-04 07:08 Evitagen 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 基环树: 定义: 基环树,又叫环套树,最显著的特点就是有 \(n\) 个点 \(n\) 条边,导致这个图上出现了一个唯一的环,就像这样: 当然,如果保证这 \(n\) 个点 \(n\) 条边构成的是一个连通图时才是唯一环,如果图不连通但是每个联通块点数都等于边数时,这个图就是一个基环树森林。可以有好 阅读全文
posted @ 2021-11-03 19:56 Evitagen 阅读(243) 评论(0) 推荐(1) 编辑
摘要: 同余最短路 定义: 出现: 给定 \(n\) 个整数,求这 \(n\) 个整数能拼凑成多少的其他整数(可重)。 给定 \(n\) 个整数,求这 \(n\) 个整数能不能拼凑出最小/大的整数。 至少拼凑几次才能凑出来模 \(K\) 余 \(p\) 的数。 方法: 同余最短路利用同余来构造出一些状态,从 阅读全文
posted @ 2021-11-03 09:43 Evitagen 阅读(2487) 评论(1) 推荐(10) 编辑
摘要: 分层图最短路 问题: 给定一个 \(n\) 个点 \(m\) 条边的有向图,有些边是特殊边,这些特殊边只能走 \(k\) 次,求路径最小值。 我们发现,这种题目,如果直接在图上跑,我们无法判断特殊边用了多少次,而且转移起来也比较麻烦。 因此,就引出了 分层图 的概念: 分析: 对于原路径,我们把所有 阅读全文
posted @ 2021-11-02 21:11 Evitagen 阅读(417) 评论(0) 推荐(1) 编辑
摘要: [SHOI2012]回家的路 题意: 给定 \(2n\) 条路径,横竖交叉形成一个网格图,走一条边时不能更换边,其中有些交叉点可以更换边,消耗 \(1\),走过一条边,消耗 \(2\). 给定起点终点,询问最小值。 分析: 可以发现,我们连接所有边其实没啥用,而且还炸空间时间。 事实上,在这个图上有 阅读全文
posted @ 2021-11-02 21:10 Evitagen 阅读(254) 评论(0) 推荐(1) 编辑
摘要: 整体二分: 引入: 有些题目需要二分,但是当有多次询问二分有可能 \(T\) 飞,这个时候就用到了 整体二分 定义: 整体二分就是:多个查询一起通过二分解决,也就是和莫队一样的离线算法。 性质: 询问的答案具有可二分性。 修改对判定答案的贡献互相独立,修改之间互不影响效果。 修改如果对判定答案有贡献 阅读全文
posted @ 2021-10-28 22:54 Evitagen 阅读(146) 评论(1) 推荐(2) 编辑
摘要: CDQ分治 定义: \(CDQ\) 分治是一种思想而不是具体的算法,和 动态规划 类似,大致分为三类: 解决和点对有关的问题。 \(1D\) 动态规划的优化转移 通过 \(CDQ\) 分治,将一些动态问题转化为静态问题。 解决和点对有关的问题: 这类问题类似于: 给定一个长度为 \(n\) 的序列, 阅读全文
posted @ 2021-10-27 21:53 Evitagen 阅读(300) 评论(0) 推荐(1) 编辑
摘要: [HNOI2012]永无乡 题意: 一共 \(n\) 个点,每个点权值,给你 \(q\) 个操作: B x y 表示连接 \(x,y\) Q x k 表示求当前 \(x\) 所在连通块内权值第 \(k\) 小的点的编号 分析: 求一个联通块内的权值第 \(k\) 小的点,很容易想到主席树或者权值线段 阅读全文
posted @ 2021-10-27 16:55 Evitagen 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 权值线段树 定义: 普通线段树维护的是数列的区间信息,而权值线段树维护了一列数中数的个数。 也就是说,我们的权值线段树就是用线段树维护了一堆桶 例子: 给定一个排列: \(1,1,1,2,3,4,5\) 其中,一棵线段树的叶子节点维护的是:有几个 \(1\),有几个 \(2\)。 他们的父亲节点维护 阅读全文
posted @ 2021-10-27 14:29 Evitagen 阅读(338) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 15 下一页