摘要:
传送门 题意:插入一个数,全体加,全体减,删除小于一个数的所有数,求$k$大 全局标记然后平衡树直接搞就行了 删除操作不断的找最小值然后删除复杂度是对的,然而$Candy?$这个沙茶找最小没有判$x==0$超时郁闷了好长时间.... 或者你也可以乱搞一个$treap$的左子树删除...时间差了$50 阅读全文
摘要:
传送门 题意: 一个长度为n的序列a,设其排过序之后为b,其中位数定义为b[n/2],其中a,b从0开始标号,除法取下整。给你一个 长度为n的序列s。回答Q个这样的询问:s的左端点在[a,b]之间,右端点在[c,d]之间的子序列中,最大的中位数。 我会使用一些方式强制你在线。 最后一句话太可怕了$Q 阅读全文
摘要:
题意:主席树做法见上一题 我曾发过誓再也不写左偏树(期末考试前一天下午5个小时没写出棘手的操作) 于是我来写斜堆啦 从叶子往根合并,维护斜堆就行了 题目连拓扑序都给你了... 说一下斜堆的操作: 合并:无脑交换一次左右子树 删除:合并左右子树代替自己 然后每个点保存一个根 阅读全文
摘要:
传送门 题意:查询树上根节点值*子树中权值和$\le m$的最大数量 最大值是多少 求$DFS$序,然后变成区间中和$\le m$最多有几个元素,建主席树,然后权值线段树上二分就行了 $WA$:又把边表开小了..... 好吧我$zz$了有根树加无向边干什么.... 阅读全文
摘要:
传送门 题意: 任务用三元组(Si,Ei,Pi)描述,(Si,Ei,Pi)表示任务从第Si秒开始,在第Ei秒后结束(第Si秒和Ei秒任务也在运行),其优先级为Pi 调度系统会经常向查询系统询问,第Xi秒正在运行的任务中,优先级最小的Ki个任务(即将任务按照优先级从小到大排序后取前Ki个)的优先级之和 阅读全文
摘要:
传送门 题意:转换成斜率然后维护区间的上升序列(从区间第一个数开始的单调上升序列) 区间保存这个区间的最长序列的长度$ls$和最大值$mx$ 如何合并两个区间信息? 左区间一定选择,右区间递归寻找第一个大于左区间最大值$v$的位置 具体来看,如果右区间的左最大值$<v$那么左面不可能选递归右面 否则 阅读全文
摘要:
于是我拿合并返回节点的线段树(我也不知道应该叫什么名)水了一下$GSS1$ 比$NOIp$之前写的不知道高到哪里去了,并且只用了$\frac{1}{3}$的时间 阅读全文
摘要:
可恶两个标记传反顺序了一直到现在.... 睡觉了睡觉了 这是我写过最漂亮的线段树 [补题解] 想法很简单的线段树,同时维护0,1两个信息 因为要求最长0,1序列所以要维护最长,从左开始最长,从右开始最长 然后为了转移还要维护一个区间长度(该死一开始没维护这个长度后来有的地方加上有的地方没加然后一堆b 阅读全文