随笔分类 -  数据结构 - 平衡树

摘要:Description 维护一个长度为n的正整数序列a_1,a_2,...,a_n,支持以下两种操作: 1 k,将序列a从小到大排序,输出a_k的值。 2 k,将所有严格大于k的数a_i减去k。 维护一个长度为n的正整数序列a_1,a_2,...,a_n,支持以下两种操作: 1 k,将序列a从小到大 阅读全文
posted @ 2019-07-31 09:12 EM-LGH 阅读(240) 评论(0) 推荐(0)
摘要:链接:https://ac.nowcoder.com/acm/problem/16033来源:牛客网 有n个位置,标号为1到n的整数,m次操作,第i次操作放置一个弹球在b[i] xor c[i-1]处,并询问b[i] xor c[i-1]处弹球个数c[i]每次操作后,在x处的弹球被弹到a[x],规定 阅读全文
posted @ 2019-07-26 23:44 EM-LGH 阅读(228) 评论(0) 推荐(0)
摘要:Code: 阅读全文
posted @ 2019-07-15 09:18 EM-LGH 阅读(129) 评论(0) 推荐(0)
摘要:Description 你是任意性复杂机器公司(Arbitrarily Complex Machines, ACM)的经理,公司使用更加先进的机械设备生产先进的机器。原来的那一台生产机器已经坏了,所以你要去为公司买一台新的生产机器。你的任务是在转型期内尽可能得到更大的收益。在这段时间内,你要买卖机器 阅读全文
posted @ 2019-07-08 12:49 EM-LGH 阅读(384) 评论(0) 推荐(0)
摘要:Description 小Y最近在一家金券交易所工作。该金券交易所只发行交易两种金券:A纪念券(以下简称A券)和 B纪念券(以下 简称B券)。每个持有金券的顾客都有一个自己的帐户。金券的数目可以是一个实数。每天随着市场的起伏波动, 两种金券都有自己当时的价值,即每一单位金券当天可以兑换的人民币数目。 阅读全文
posted @ 2019-07-08 07:49 EM-LGH 阅读(192) 评论(0) 推荐(0)
摘要:Description 方伯伯正在做他的Oj。现在他在处理Oj上的用户排名问题。 Oj上注册了n个用户,编号为1~”,一开始他们按照编号排名。方伯伯会按照心情对这些用户做以下四种操作,修改用户的排名和编号: 1.操作格式为1 x y,意味着将编号为z的用户编号改为V,而排名不变,执行完该操作后需要输 阅读全文
posted @ 2019-06-25 14:31 EM-LGH 阅读(249) 评论(0) 推荐(0)
摘要:方法二:LCT+矩阵乘法 上文中,我们用线段树来维护重链上的各种矩阵转移. 第二种方法是将树链剖分替换为动态树. 我们知道,矩阵乘法 $\begin{bmatrix} F_{u,0} & F_{u,0}\\ F_{u,1} & -\infty \end{bmatrix}\times\begin{bm 阅读全文
posted @ 2019-06-04 08:00 EM-LGH 阅读(394) 评论(0) 推荐(0)
摘要:p.s. 复合函数求导时千万不能先带值,再求导. 一定要先将符合函数按照求导的规则展开,再带值. 设 $f(x)=g(h(x))$,则对 $f(x)$ 求导: $f'(x)=h'(x)g'(h(x))$ 此题中,我们用 LCT 维护 $x^{i}$ 前的系数和,每次询问时将一条链的系数和提出,将 $ 阅读全文
posted @ 2019-04-16 21:06 EM-LGH 阅读(269) 评论(0) 推荐(0)
摘要:特别鸣神犇 fcwww 替我调出了无数个错误(没他的话我都快自闭了),祝大佬省选rp++ 板子题,给我写了一天QAQ...... 用 LCT 维护后缀树,暴力更新用 LCT 区间更新链即可 其实,在计算本职不同子串的时候很多网友算的都有点麻烦 不管实在后缀自动机,还是广义后缀自动机中,动态更新本质不 阅读全文
posted @ 2019-03-30 10:16 EM-LGH 阅读(290) 评论(0) 推荐(1)
摘要:Code: 阅读全文
posted @ 2019-03-02 16:36 EM-LGH 阅读(179) 评论(0) 推荐(1)
摘要:Code: 阅读全文
posted @ 2018-11-29 19:30 EM-LGH 阅读(198) 评论(0) 推荐(0)
摘要:题目描述: 现在,火星人定义了一个函数 LCQ(x, y)LCQ(x,y),表示:该字符串中第 xx 个字符开始的字串,与该字符串中第 yy 个字符开始的字串,两个字串的公共前缀的长度。比方说,LCQ(1, 7) = 5, LCQ(2, 10) = 1, LCQ(4, 7) = 0LCQ(1,7)= 阅读全文
posted @ 2018-10-31 22:18 EM-LGH 阅读(266) 评论(0) 推荐(0)
摘要:真的毫无算法可言,就是比谁的码力强罢了... Code: 阅读全文
posted @ 2018-09-19 20:46 EM-LGH 阅读(185) 评论(0) 推荐(0)
摘要:1.注意在 split 和 merge时要特判一下边界, 否则就会出现边界错误的情况。 2.随时都要维护父指针。 3.在更新 maxv 和翻转标记时要判一下左右儿子是否都存在。 阅读全文
posted @ 2018-09-18 12:44 EM-LGH 阅读(220) 评论(0) 推荐(1)
摘要:其实思路并不算太难,就是代码量相对较大。 我们将一次离队转换为一次删除和两次加入,这样就可以保证空间是动态分配的,最大也不会暴空间。 说实话写之前感觉会很恶心,但是代码量就还好吧,有些细节需要特殊注意一下。 Code: 阅读全文
posted @ 2018-09-05 20:33 EM-LGH 阅读(155) 评论(0) 推荐(0)
摘要:Code:#include#includeusing namespace std;struct Node{ int s,val,tag,v; Node *ch[2]; Node(int u){ s=1,val=1,tag=0,... 阅读全文
posted @ 2018-09-04 20:57 EM-LGH 阅读(152) 评论(0) 推荐(0)
摘要:可以将高度定义为小数,这样就完美的解决了优先级的问题。 Code: 阅读全文
posted @ 2018-09-02 11:29 EM-LGH 阅读(204) 评论(0) 推荐(0)
摘要:指针写的代码量真心大 Code:#include#include#includeusing namespace std;const int maxn=900000;int key[maxn];int D[maxn];char A[30];int n,m;st... 阅读全文
posted @ 2018-09-02 11:24 EM-LGH 阅读(132) 评论(0) 推荐(0)
摘要:Code: 阅读全文
posted @ 2018-09-02 08:02 EM-LGH 阅读(141) 评论(0) 推荐(0)
摘要:注意空间大小,以及建树时的细节 阅读全文
posted @ 2018-08-23 19:26 EM-LGH 阅读(173) 评论(0) 推荐(0)