04 2022 档案
摘要:乘法逆元和求法 基本的数论知识,有必要补一发。 开始之前 模运算:取余运算,比如 就是 除以 得到的余数。 性质:在加、减、乘、乘方的运算过程中,进行取余运算,不会对结果产生影响。 优先级:取余运算的优先级和乘法、除法的优先级相同,高于加减法的优先
阅读全文
摘要:dfs 序 就是按照 dfs 的顺序遍历整棵树的时候再加一个数组记录经过的编号就行了。 #include <bits/stdc++.h> #define V e[i].v using namespace std;int rd(){ int w=0,v=1;char c=getchar();while
阅读全文
摘要:可持久化并查集 模板 Luogu P3402 可持久化并查集' 可持久化并查集支持三个操作: 回到某个历史版本(可持久化)。 合并两个集合(并查集)。 查询两个元素是否在同一个集合中(并查集)。 思路 很明显,对于第一个操作,就用主席树实现,也就是把当前版本的根节点设成要求版本的根节点就行了。 至于
阅读全文
摘要:主席树 主席树是由一位巨佬 hjt 发明的,所以叫主席树。 什么是主席树 主席树,又名可持久化权值线段树。所以,主席树 可持久化线段树 至于可持久化的定义,简单来说就是可以访问到之前某个时刻的数据。 比如中的要求:求单点历史值,修改某历史版
阅读全文
摘要:并查集 突然发现不会并查集的按秩合并 只能爬回来补了。 UPD:2022/4/7 突然发现学的按秩合并是假的,实际上是启发式合并…… 所以回来修锅。 定义 并查集是一种用于处理一些不相交的集合的合并与查询问题的树形数据结构 能够将两个集合合并 或者查询某个元素处于哪个集合中 用法 预处理 并查集维护
阅读全文
摘要:权值线段树 就是以下标为值域的一棵线段树。 定义 引用一下这篇日报中的例子: 假设用权值线段树维护一个数组: 初始权值线段树时所有节点为 0 插入数组中的 1 后 插入数组中的 2 后 全部插入后 时间复杂度 因为
阅读全文
摘要:离散化 赶紧胡一篇出来,免得到时候出锅。 毕竟离散化是权值线段树学习的基础。 定义 把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。 \(\qquad \qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qqu
阅读全文
摘要:P5768 [CQOI2016]路由表 对于每个字符串,将其转换成二进制串的形式,每 位表示一个数,且每个串都有一个长度数值 ,表示需匹配的位数。 给定 次操作, 操作有两种: 插入操作:添加题目给出的掩码长度为 的串 。 查询操作:询
阅读全文