![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
crosaa
这个作者很懒,什么都没留下…
展开
-
【算法】搜索的易错点
1.开一个临时存储的变量要在dfs里开,否则进入下一层时,值会被覆盖导致结果错误2.原创 2021-09-04 22:46:20 · 70 阅读 · 0 评论 -
【图论】树上差分and lca差分
树上 lca查分讲解<-------------------------个人觉得,和普通的查分没有什么区别。注意一点,chafen数组的定义1---.点的差分接下来所有“子节点”指“ 直系子节点”!!!!直系子节点指的是和父节点有一条边直接相连的子节点。chafen[ maxn ]:差分数组,定义 当前节点 与其子树的总和之差 (子树指的是直系子节点)eg.for(int i=1,u,v;i<=k;i++){ u=read();v=read(); i...原创 2021-08-25 17:53:58 · 104 阅读 · 0 评论 -
【算法】 分块
分块思想就是把一个区间拆成几份,利用每一份的最大值和边界中暴力每一个小块,就可以在nlog(n)算出区间最大值最小值。和二分相似,也就是n分的思想,当然,代码还是难调(1)需要注意的是,当left和right在一个块内的时候,要特判一下,要不然,就会让最大值出现问题,扩大了这个区间的长度(2)一般都是分成sqrt(n)块,每一块的左边界和右边界要单独做好,还有,最后一块如果不够一块,右边界改为n(3)要用快读,分块会被卡长,加上register最好#include<iostre..原创 2021-08-17 17:39:10 · 48 阅读 · 0 评论 -
【算法】 康托展开
和hashi一起用更好一点康托展开可以求解一个排列的序号,比如:12345 序号为 1 ,12354序号为2,按字典序增加编号递增,依次类推。康托逆展开可以求解一个序号它对应的排列是什么。康托展开讲解int f[10]={1,1,2,6,24,120,720,5040,40320,362880};inline int contor(int *A){ int sum=0; for(int i=0;i<9;i++) { int x=0; for(int j=i+...原创 2021-08-16 20:32:54 · 106 阅读 · 0 评论