摘要: 求解最大流主要有两种算法:增广路算法和预流推进算法 增广路算法的本质是考虑“压榨”完残量网络中所有仍然有流量的边并记录答案。 所以最基本的想法是递归搜索出所有与节点 u 相连的边求解答案。 这样的复杂度太高,可以发现这样的问题主要在于深搜必须统计出所有路径才能计算答案,考虑将深搜改为广搜,这样的 阅读全文
posted @ 2023-02-04 15:22 0xFF_qwq 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 和大多数的平衡树一样,splay 本质上也是二叉查找树,只是增加了翻转(rotate)操作来保证复杂度。 借用 OI Wiki 的图片,左旋和右旋的目的是为了尽可能降低平衡树的深度。 图中进行的就是 splay 操作的右旋,可以发现不论怎么旋转,保证整棵树的中序遍历顺序不变是最重要的前提条件,观察图 阅读全文
posted @ 2023-02-03 08:44 0xFF_qwq 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 欧拉函数是对于一个数 N,在 1N 范围内所有与 N 互质的数的个数。 欧拉函数需要通过线性筛实现: 如果 i 为素数,显然 ϕ(i)=i1 否则考虑 ϕ(i)ϕ(i×pj) 的关系: $\phi(i)=i {\texts 阅读全文
posted @ 2023-01-13 11:08 0xFF_qwq 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 算法简介 Dsu on Tree 也称树上启发式合并,其主要用于解决一类针对子树信息的询问且无法使用 dfs 序 + 线段树解决的问题。 树上启发式合并的使用条件: 只有询问操作 需要将每个点依次统计求解,使用一般的算法复杂度过高。 算法流程 以 树上数颜色 为例,朴素的暴力是枚举每个节点,扫描 阅读全文
posted @ 2022-08-08 20:44 0xFF_qwq 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 首先考虑这样一个问题: 给你 n 个矩形的左上角坐标和右下角坐标,求他们的面积并。 我会暴力! 其中 n<=1e5 坐标都是 int 范围内的数。 我会容斥! 显然会 TLE 所以我们需要考虑一种更快速更容易维护的方式。 扫描线,顾名思义就是一条平行于坐标轴的线从第一个矩形的左边 阅读全文
posted @ 2022-06-06 10:03 0xFF_qwq 阅读(45) 评论(0) 推荐(1) 编辑
摘要: Lucas定理是用于处理组合数取模的定理,通常用于解决阶乘无法解决的问题。 本质上来说,卢卡斯定理是一类处理当组合数 Cnmmodpn,m,p 皆为 105 范围内的数时求解答案的方法。 当 n,m,p 较小的时候可以考虑使用杨辉三角递推得到 阅读全文
posted @ 2022-05-27 16:17 0xFF_qwq 阅读(92) 评论(0) 推荐(1) 编辑
摘要: 区间最值的求法通常被称为RMQ问题。 解决这类问题的方法有很多,本文主要介绍几种简单易懂且容易实现的方法。 本文分别以 P1816 忠诚 和 P3865【模板】ST表 为例解释区间最大值/最小值的求法。 ###一 朴素算法 也就是常说的枚举,枚举每个区间找出最小值/最大值,时间复杂度为 \(O(n 阅读全文
posted @ 2022-05-27 14:28 0xFF_qwq 阅读(219) 评论(0) 推荐(1) 编辑
摘要: 有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何? 即,一个整数除以三余二,除以五余三,除以七余二,求这个整数。《孙子算经》中首次提到了同余方程组问题,以及以上具体问题的解法,因此在中文数学文献中也会将中国剩余定理称为孙子定理。 中国的古人在很早的时候就发现了此题的解法: 三人同行七 阅读全文
posted @ 2022-05-26 16:45 0xFF_qwq 阅读(178) 评论(0) 推荐(1) 编辑
点击右上角即可分享
微信分享提示