
堆
Mys_C_K
人生有许多道:曾经踏足的是道,即将踏往的也是道,那什么才是道呢?唯有脚下走的才是道。一切精神或者物质都归于虚无,然后从混沌中衍生出三万道。在悲喜间涉足一条无数前人经历过,且将有无数后人奔赴的道,无论是否已经或者将要到达彼岸,然后便不再回头或是左顾右盼,即使有些道繁盛至极,夜灯如昼,无数人一浪又一浪的涌去,造就了世人皆知的辉煌;即使有些道草木凋敝,荒草丛生,只等勇敢的开拓者斩开荆棘,创造一片天地;这些都无所关,无所在意,彼岸何如、来日何方甚至过往旧事都化作一缕云烟,飘渺碧霄,我自撷高山之月色,独随足落处往行。
展开
-
洛谷P3378 手写堆模板
手写堆模板,实现的是大根堆,main中的是一个小根堆。 这个比较简单,就不写什么注释之类的了。 https://www.luogu.org/problem/show?pid=3378 //实现一个小根堆 //luogu P3378 #include #include #include #include #include #define MAX_SIZE 1000000 usi原创 2017-01-02 08:53:40 · 1190 阅读 · 1 评论 -
2017年三轮省队一个题的感想
题目大意: 给定一列n 思路: 妙哉我把题面给的暴力写错了 好先看部分分 数据随机?好像一列数是递增的那么他们之间的相对顺序不会变,因此可以缩成一个点,每次把一个点中的最大值加入到下一个点当中。 一个优化是当当前点的最大值<下一个点的最小值的时候就把这两个点合并成一个。 好我就很开心的写了不是很多人会的左偏树开森 然后发现并没有必要用堆这个性质 直接用链表套数组随便xjb搞一搞就原创 2017-07-02 12:59:48 · 392 阅读 · 0 评论 -
[NOI2010]超级钢琴 - 主席树 - 堆
题目大意:问长度在[L,R]的前k大子区间的和。5e5。 题解:对每个右端点用主席树维护其第k大即可,然后光荣MLE。 #include<bits/stdc++.h> #define gc getchar() #define rep(i,a,b) for(int i=a;i<=b;i++) #define Rep(i,v) rep(i,0,(int)v.size()-1) #de...原创 2018-10-17 14:24:03 · 250 阅读 · 0 评论 -
摧毁图状树 - 线段树 - 倍增
题目大意: 给你一棵无权树,对于每个k=1…n求: 每次你可以给一个点x到其k级祖先的路径上的所有点打上删除标记。问最少多少次可以把所有点打上删除标记。n≤105n\le10^5n≤105 题解: 考虑k怎么做,显然先把叶子涂黑,然后每次涂黑一个点,就把其k级组先拿出来,放进堆里。每次选择堆中深度最大的一个点,若其未被涂黑,则涂黑,并重复上述操作。 于是可以注意到答案是O(x+(n-x)/k)级别...原创 2018-11-19 09:55:39 · 441 阅读 · 0 评论 -
[集训队作业2018]UOJ 418 三角形 - 线段树合并 - 堆 - 并查集
题目大意:给一棵树,每次可以选择拿走某个点的所有石子(放到手上),或者在任意一个满足其儿子节点都已经有石子的点xxx放恰好wxw_xwx个石子。对每个点xxx求恰好在这个位置放wxw_xwx个石子,一开始手上要有多少石子?n≤105n\le10^5n≤105。 题解: 考虑对每个子树怎么暴力求; 考虑将问题反过来,每次变为若一个点有石子,就在其儿子节点都放上石子,然后把这个点的石子取走。一开始...原创 2019-02-26 11:50:35 · 374 阅读 · 0 评论