![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
堆
波波i
此微博用来学习,和嘿嘿嘿。
展开
-
各种经典堆
2004年分区联赛提高组之二 合并果子Time Limit:20000MS Memory Limit:65536KTotal Submit:503 Accepted:221 Case Time Limit:5000MS Description 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。 每一次原创 2016-12-03 11:28:36 · 316 阅读 · 0 评论 -
Sequence(pascal)堆
题意:给n各组的数,每个组m个数,求出每个组去一个数的的和最小的m个数。思路:可以记录一个Δ为每个组的数对答案的影响,然后用堆维护Δ的最小值,然后会超时…..mdzz 这题想了我半天,本来想直接去网上看题解的,结果ymw大神说自己想(虽然他自己都想错了)。然后万般无奈就只能去百度搜索了。 正解: 1.将第一组数据输入arr1数组,升序排序。 2.将接下来的数据输入到arr2数组中,并且hea原创 2016-12-06 18:23:37 · 603 阅读 · 0 评论 -
【NOIP2014八校联考第3场第1试10.4】选择困难症(perdant) (堆)
题意:和我前面的一个poj的题意差不多,给n行树,每次从每一行数去一个,求第k小的那个。 思路:一行一行的处理,每一次记录一组求出的k小的值和当先这一行匹配,建立一个堆。程序:const maxm=500000;var dataq,data,data1:array [0..maxm] of longint; i,j,n,m,x,s,ii:longint;procedure siftdown(原创 2017-01-16 21:53:40 · 382 阅读 · 1 评论 -
黑匣子
题目大意给你一些数,你可以选着按顺序插入,和查找第k大的数是哪个,每次查找输出低k大的数思路:一个大根堆加一个小根堆… 或者是用平衡树或者是权值线段树… 抱歉我是口头ac,啊哈哈哈。 我的方法是离线做的,你把每次操作都给保存下来,先用所有的数去造一棵树,每次插入就变成删除,然后用数组存每次的查找结果,最后反正输出。程序:uses math;const原创 2017-08-08 20:18:00 · 378 阅读 · 0 评论 -
5861. 【NOIP2018提高组模拟9.9】失意
题目大意:思路:这题是一个贪心堆优化的题目,思路还是挺好想的,前几天做过一个类似的区间问题,答案就是这些数最小的右节点,减去最大的左节点。然后用排序左节点,用堆维护右节点,然后限制数量,每次弹出元素的时候求值。程序:#include<cstdio>#include<iostream>#include<cstring>#inclu...原创 2018-09-09 21:28:59 · 346 阅读 · 0 评论