- 2024-11-14洛谷P11183 [ROIR 2018 Day2] 大数据处理
涉及知识点:动态开点线段树,贪心前言很妙很感性直观的贪心,做完神清气爽。题意Link有一个长为\(2^k\)的序列,编号从\(0\)开始,你要在上面染色,每次只能染色\([k2^i,(k+1)2^i-1]\)的区间(\(0\leqi<k\)),问最少要染色多少次才能变成给定的目标序列。目标序列以形如\((x_1,y_1),(
- 2024-08-15表达式
表达式获取优先级intGetPriority(charc){ if(c=='*')return0; if(c=='+')return-1; return-2;}中缀转后缀stringPostfixExpression(stringstr){ stringres; stack<char>stk; for(autoc:str) { if(c=='_') {
- 2024-01-24线段树合并
线段树合并线段树合并可以使很多跑不过的暴力,特别是树上暴力的时间复杂度正确,与树分治的区别在于,线段树合并必须依次处理节点,但优势在于,保持了树的形态。算法思路引入CF600ELomsatgelral使用一个数组记录该子树内的颜色出现次数。每次每个节点暴力将儿子的信息合并到自己
- 2023-09-27平衡树模板
Splay#definelchch[0]#definerchch[1]classSplay{private:structNode{intval,cnt,sz;Node*fa,*ch[2];inlinevoidpushup(){sz=cnt;if(lch)sz+=lch->sz;
- 2023-09-04扫描线补充
1.两条扫描线之间,不一定是一个矩形,可能是多个不相交的,高相同的矩形2.扫描线的板子没有pushdownvoidupd(intu,intl,intr){ if(cnt[u]){ len[u]=b[r+1]-b[l]; sum[u]=2; lh[u]=rh[u]=1; }else{ len[u]=len[lch]+len[rch]; sum[u]=sum[lch]+sum[rch]; lh[u]=lh[
- 2023-02-08【codevs1080】线段树练习
problemsolutioncodes#include<iostream>usingnamespacestd;constintmaxn=100010;#definelchp<<1#definerchp<<1|1structnode{intval,addmark;}sgt[maxn<<
- 2022-12-16二叉树前中后序递归遍历完整代码【超简单易懂】
//二叉树的前中后序遍历【递归法】#include<iostream>usingnamespacestd;//结点结构体typedefstructBTnode{ chardata;//自己的数据 BTnode*lch
- 2022-11-13nove.13 月下毛景树 [树剖]
月下毛景树复健记录树剖,权值下放树剖的准备:第一次DFS,可以记录深度、子树大小、父亲、重儿子;第二次可以记录重链顶、DFS序本题需要维护的数组:区间最大值lazy_tag,有