随笔分类 -  数据结构 -- 堆/可并堆

摘要:争取年末冲完 阅读全文
posted @ 2020-12-13 12:12 guapisolo 阅读(79) 评论(0) 推荐(0)
摘要:题面: 题目大意:给你一张有向图,求1到n的第k短路 $K$短路模板题 假设整个图的边集为$G$ 首先建出以点$n$为根的,沿反向边跑的最短路树,设这些边构成了边集$T$ 那么每个点沿着树边走到点$n$,它对于答案的贡献为0 我们加入一条非树边,它对于答案的贡献就是$delta(u,v)=dis[v 阅读全文
posted @ 2019-03-03 09:43 guapisolo 阅读(680) 评论(0) 推荐(1)
摘要:题面:BZOJ传送门 洛谷传送门 让你求前$K$大的子序列和,$n\leq 5*10^{5}$ 只想到了个$nlog^{2}n$的做法,似乎要被卡常就看题解了.. 好神奇的操作啊,我傻了 我们把序列和拆成两个前缀和相减 对于一个左端点$x$,它可以取的范围是$[x+l,x+r]$,查出该范围内的第1 阅读全文
posted @ 2019-02-25 23:53 guapisolo 阅读(218) 评论(2) 推荐(1)
摘要:题面:BZOJ传送门 题目大意:给你一个序列$a$,让你构造一个递增序列$b$,使得$\sum |a_{i}-b_{i}|$最小,$a_{i},b_{i}$均为整数 神仙题.. 我们先考虑b不递减的情况 假设现在有一段单调的序列$A$ 如果$A$是递增的,显然$b[i]=a[i]$是最优解 如果$A 阅读全文
posted @ 2019-02-25 23:43 guapisolo 阅读(270) 评论(0) 推荐(0)
摘要:码农题.. 很显然除了两个全局操作都能用可并堆完成 全局最大值用个multiset记录,每次合并时搞一搞就行了 注意使用multiset删除元素时 如果直接delete一个值,会把和这个值相同的所有元素全都删掉 如果find一个值得到一个迭代器,然后删除这个迭代器,就能只删除相同元素中的一个啦 因为 阅读全文
posted @ 2019-02-25 14:56 guapisolo 阅读(133) 评论(0) 推荐(0)
摘要:题目大意:给你一个序列,求出第$K$小的两两异或值 先建出来可持久化$01Trie$ 用一个$set$/堆存结构体,存某个异或对$<i,j>$的第二关键字$j$,以及$ai\;xor\;aj$的值,堆中按异或值从小到大排序 每次取出一对$<i,j>$并把它从堆中删除 在$[0,j-1]$的 可持久化 阅读全文
posted @ 2018-11-27 19:41 guapisolo 阅读(186) 评论(0) 推荐(0)