我(贺来)的 sb 矩乘封装 如题,经过巨佬的指导和我的不懈贺贺贺,我得到了一个很 sb 的矩乘封装! 12345678910111213141516171819202122232425262728#define P 998244353#define L long longstruct Mat { int n, m; vector<vector<int> > a; Mat() 2022-03-22 模板 数学 语法 矩阵 矩阵乘法
CF1654CDE 题解 CF1654CDE 题解CF1654C 有一块大小为任意正整数蛋糕,可进行以下操作任意次(可以是 $0$ 次)得到一个无序蛋糕的集合: 选择一块蛋糕,它的大小为 $w$,则切为 $\lfloor\dfrac{w}{2}\rfloor$ 和 $\lceil\dfrac{w}{2}\rceil$ 两块放回; 现在给一个有 $n$ 个蛋糕的集合 $a$,问是否合法,即能否通过若干次操作得到这样一个蛋 2022-03-21 题解 codeforces 数学 大根堆 stl 分解质因数
最小距离 给定一张 $n$ 个点 $m$ 条边的带边权连通无向图,其中有 $p$ 个点是特殊点。 对于每个特殊点,求出它到离它最近的其它特殊点的距离。 $1 \le n,m \le 2 \times 10^5$,$2 \le p \le n$,$1 \le w \le 10^9$ 首先,在 $\tt{Dijkstra}$ 前加入所有特殊点并把最短路设置为 $0$ ,跑的时候记录每个点 $x$ 的最短路是 2022-03-13 题解 图论 dijstra
一道 sb 题的 sb 做法 有 $n$ 座城市,第 $i$ 座城市里宝石的交易价格为 $a_i$。当你经过第 $i$ 座城市时,你可以以 $a_i$的价格购买或卖出一个宝石。在任意时刻,你最多只能携带一个宝石。 有 $m$ 次操作,操作分为两种: 询问依次经过 $l$ 到 $r$ 的城市的城市能获得的最大收益。最后离开编号为 $r$ 的城市时,身上不能携带宝石; 将 $l$ 到 $r$ 的宝石价格修改为一个首项为 $x 2022-03-12 题解 数据结构 线段树
CF1140F 题解 link一个点集 $S = (x_i, y_i)$ 的张集定义如下: 刚开始张集等于 $S$; 若对于点 $(x, y)$ ,存在 $(a, b)$,使得 $(a, b)$ 、 $(a, y)$ 、 $(x, b)$ 属于张集,则将 $(x, y)$ 加入张集; 重复上述操作直到不能操作,此时集合即为 $S$ 的张集。现在有 $q$ 次操作每次操作会添加或删除一个点, 求每次操作后张集点 2022-02-13 题解 图论 dfs 线段树 二分图 并查集 可撤销并查集
Atcoder ABC227G 题解 Atcoder ABC277G 题解 link 给定 $n$、$k$,求 $C_n^k$ 的约数个数。 $1 \le n \le 10^{12}$,$1 \le k \le \min (n, 10^6)$ 首先,一个数 n = \Pi_{i = 1}^{m} p_i^{k_i} 的约数个数为 \Pi_{i = 1}^m \left(k_i+1\right) 。 对组合数进行约分,C_n^k = 2022-01-05 题解 数学 Atcoder
exCRT(扩展中国剩余定理)学习笔记 exCRT(扩展中国剩余定理)学习笔记背景(?普通的 CRT 不能解决模数不互质的情况,按照数论算法的命名规则,能解决模数互质的算法就是 exCRT。 然鹅 exCRT 与 CRT 算法本身没有任何关系,个人觉得 exCRT 代码还更简单。 所以 CRT 有什么用?名字里有中国吗? 前置芝士 exgcd(扩展欧几里得); 一个简单的同余式转化,$a \equiv b \mod p \Rightar 2021-12-31 算法 模板 数学
【模板】插头 dp 题解 【模板】插头 dp 题解 link给定一个 $n \times m$ 的方格,有些格子不能铺线,其他格子必须铺,求构成一个闭合回的方案数。$ 2 \le n,m \le 12$ 一个很显然的性质,因为是回路,所有要铺的格子都是一进一出两条线。 状态考虑 dp,$f_{i, j, s}$ 当前决策到第 $i$ 行第 $j$ 个格子,状态为 $s$ 的方案数。 $s$ 的状态为当前决策的格子和未决 2021-12-29 算法 模板 dp
namespace io 更快的输入输出!然而我没有写输出 看别人的 namespace io 都是一大坨,我自己精简了一下。 支持任意整形、字符串读入。(io::read</*想要读的类型*/>()) 原理很简单,在进行文件读入时 $\tt{fread}$ 一次读入大量文件,具有较快的速度。 由于 $\tt{fread}$ 是读文件的,所以在本地比较麻烦,不想用文件读入时可以把 $\tt{gc}$ 改为 $ 2021-11-18 模板 水 语法
主席树学习笔记 主席树学习笔记前置芝士 线段树 动态开店线段树 权值线段树 脑子 pvz 玩多了 用处主席树即可持久化线段树,在线段树的基础上可以查询修改每个修改的内容并形成新的版本。 思想如果每次修改后在建一棵线段树,空间复杂度肯定受不了。注意到线段树的一次修改操作最多影响 $\log$ 个节点。因此我们可以只新建修改的节点,将原来的节点也用上,这样空间复杂度就是 $\Theta((n + q) \log n 2021-11-15 算法 数据结构 线段树 主席树