随笔分类 - 数据结构
摘要:leetCode常用数据结构题单 1. 基础 栈可以用stack,或者vector来模拟操作,其实vector更方便,很多时候需要从头输出栈内元素。 没有什么写模板的必要,下面列出一些栈的基本操作 stack<int> st; vector<int> vec; st.push(1); vec.pus
        阅读全文
                
摘要:leetCode常用数据结构题单 1. 前缀和 1.1 前缀和基础 模板区域和检索-数组不可变 记数组的前缀和\(sums_i\)为下标\([0,i)\)的子数组的和 class NumArray { public: vector<int> sums; NumArray(vector<int>& n
        阅读全文
                
摘要:"[TJOI2018]异或" 把树剖套的线段树换成可持久化$Trie$树就结束了 cpp int val[Maxm], ch[Maxm][2], T_cnt; void ins(int i, int o, int p, int x, int now){ if(now now&1; if(ch[p][
        阅读全文
                
摘要:"[HEOI2013]ALO" 从小到大枚举能量次大的宝石$i$,令在它之前的第一个能量大于它的宝石在$l_1$,第二个在$l_2$,同理设$r_1,r_2$ 则$[l_2+1, r_1 1]$与$[l_1+1, r_2 1]$包含了所有可能使$i$作为能量次大宝石的区间 求$l_1, l_2, r
        阅读全文
                
摘要:题目描述 被各种毒瘤线段树虐过后突然感觉这道卡了我一万年的树套树很水 (就一道模板题,不想讲了) 代码
        阅读全文
                
摘要:题目描述 最喜欢这种细节少少的组合型问题了,感觉被树套树虐过之后其他数据结构都简单了 这题就是简单的树链剖分+主席树,好像只要会就不是很容易写错 信仰每一种宗教的单独建一颗线段树就好了 代码
        阅读全文
                
摘要:题目描述 题目我也不知道启发式合并到底是什么东西 好吧,启发式合并就是把小的集合往大的集合合并,学并查集的时候不是有把小树根的父亲设为大树根的操作吗,这大概就是启发式合并的一个典例对于这道题,我的做法是把小SBT的所有结点从小到大全部加入到大SBT中(本来打了个Tre...
        阅读全文
                
摘要:题目描述 题目 (指针版主席树)
        阅读全文
                
摘要:题目描述 题目考试有想过每行建一棵树,但是发现空间会爆,就去打模拟了。。。 然而,正解就是每行建一棵树(最后一列单独建一棵),只不过是把插入操作改成删除操作就好了。 因为每次离队影响到的只会是人所在的行和列(如果是最后一列的离队只会影响行)。 对于后面插进来的元素用v...
        阅读全文
                
摘要:[[Luogu3391]【模板】文艺平衡树(Splay)] 非指针版 指针版(以前不压行的代码看着好长好啰嗦啊)
        阅读全文
                
摘要:1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 const int N=100010,inf=10000010; 8 int n; 9 10 struct node 11 { 12 node* ch[2]; 13 int r,s,v; 14 ...
        阅读全文
                

浙公网安备 33010602011771号