摘要:
我也不知道我为什么会翻这种zz错误系列 1.没读懂题就开始写 2.搜索不剪枝我以为它能过 3.输出格式错误 4.数位dp不加记忆化写成了裸的搜索 5.数位dp记忆化过于繁琐导致记不下,其实是同上 6.1左移位数超过32位不写1ll 7.树链剖分重链求错了T的飞起 8.输出答案顺序错误,比如应该先an 阅读全文
摘要:
反演 反演的作用基本上就是将一个bool表达式转化成一个和式,从而减小程序的时间复杂度。 欧拉反演 基本式子是 \[ n=\sum_{d|n}\phi(d) \] 下面简单证明一下,我们枚举$n$的每个因子$d$,显然每个因子都有可能成为$n$与$1-n$中的数的gcd,并且每个gcd都是,即$n= 阅读全文
摘要:
雨天的尾巴 这道题应该算是很板子了,不过需要稍微思考一下,对于每次发放,如果模拟发放过程,那么每次发放的时间复杂度是$O(n)$的,这样显然会T,考虑如果每次只发放一种,用树上差分解决就可以,但是这个有很多种,所以给每个结点开一棵权值线段树就行,每个节点记录每种救济粮的数量,然后同样是利用差分的思想 阅读全文
摘要:
由于某人找了个单调栈的题解但是没研究透所以让我们来研究。。。。。。。。。。。。 首先先来考虑下面一种情况,假设第$k$次切割时,天数为$d_k$,高度为$b_k$,第$k+1$次切割时,天数为$d_{k+1}$,高度为$b_{k+1}$,那么我们定义一个切割速度,令$v=\frac{b_{k+1}- 阅读全文
摘要:
啥是可持久化线段树 可持久化线段树就是可以询问历史版本状态的线段树。 既然要维护历史版本,那么就直接都开一棵线段树维护不就好了么,但是这样显然会MLE,仔细想想会发现没有必要每次去建一棵线段树,因为一次修改只会动一条链,所以处理这一条链上的情况就行。 理解 历史版本不止是指曾经使用过的版本,还指一些 阅读全文
摘要:
定义 在线性代数中,基又称为基地,是刻画向量的工具。对于基底的元素我们称为基向量,向量空间的任意一个元素都可以唯一表示成为基向量的线性组合。同样,线性基也是一种基,它是一种特殊的基,一般用来求异或问题 我不知道你看懂没有,反正我是没看太懂,只需要知道线性基处理异或问题时十分方便就好。 性质 将线性基 阅读全文
摘要:
前言 近期刚刚学了线段树合并,感觉几天后就忘了,所以写出来方便以后复习 (如有雷同,那就是我在网上借鉴的了。。。。。。。。。) 什么是线段树合并 顾名思义,线段树合并就是把两棵线段树合并到一块,废话,但是首先要考虑一个问题,什么样的线段树可以合并,比如一棵表示区间最大值,另一棵表示区间最小值,那这两 阅读全文
摘要:
#include<cstdio> #include<cstring> #include<algorithm> #include<cstdlib> using namespace std; int main(){ long long cnt=0; system("g++ a.cpp -o a -std 阅读全文
摘要:
前言 今天刚刚学了点分治,赶紧把思路写一下,以防止以后忘记 分析 对于一个点,经过它的路径有两种可能,一是在一棵子树里(下图1-2-4),二是在两个子树里(下图2-1-5)。 那么对于情况二,我们可以把它拆成两条链相加。 对于情况一好像不行,但如果去分类讨论就会让程序更加复杂,但是发现它在它的子树里 阅读全文