
堆/优先队列
jzq233jzq
这个作者很懒,什么都没留下…
展开
-
哈夫曼+堆——UOJ#130/Luogu2168 [NOI2015]荷马史诗
题面:Luogu2168 UOJ#130 追逐影子的人,自己就是影子。 ——荷马这题其实就是一个k叉Huffman树 所以我们用堆维护即可(像合并果子一样做就好了) 不过合并果子可以看作二叉Huffman,这里k叉 没关系,每次选k个合并就好了啊 但是如果(n-1)%(k-1)不等于0的话,那是不可能完全合并掉的 那也没关系,我们把少的用0补上,那就没有问题了 于是这么一道NOI的题就原创 2017-07-08 08:21:35 · 254 阅读 · 0 评论 -
ST表+堆——BZOJ2006/Luogu2048 [NOI2010]超级钢琴
题面:BZOJ2006 Luogu2048 权当ST表练手第一题 题面大意是求出前K大连续字段和(长度在l到r之间)的和 首先想到贪心的想法,我们要找到以i为开头的长度在l到r之间的最大连续字段和,然后丢到堆里面,每次都取最大的就是答案了 但是可能以i为开头的对答案有贡献的方案有很多种,所以我们还要进一步做,考虑把这段区间分开 我们首先记下原序列最大时结尾的下标,然后分开的时候直接下标左边原创 2017-06-12 09:54:40 · 448 阅读 · 0 评论 -
二分+堆——Codeforces812C Sagheer and Nubian Market
题面:cf812c 简要题意:有n个纪念品,第i个纪念品底价为a[i],购买时如果购买k个,第i个纪念品的价格就是a[i]+k*i,问钱数为S时最多能买的纪念品个数以及购买这些纪念品所花费的最少钱数直接二分要购买的纪念品个数即可我的二分判断做法是开一个小根堆,然后依次把每个数当前的价格扔进去。。。然后取出最小的mid个就可以了,如果符合答案那么这些取出的纪念品的价格总和就是最小花费数了WA了四发不开心QAQ原创 2017-06-02 08:20:50 · 450 阅读 · 0 评论 -
图论——BZOJ4239 巴士走读
http://www.lydsy.com/JudgeOnline/problem.php?id=4239 我们的4.12模拟赛T3 我写了很久又调了很久的spfa最后被硬刚到80分再也上不去了。。。 思路是把每辆车看做点,如果一辆车能换乘另一辆车就连上一条边 代码就不贴了吧(反正也看不懂) 网上看题解发现一种非常神奇的做法 我们维护到达每个点的最迟出发时间d和乘上每辆车的最迟出发时间di原创 2017-04-13 20:22:21 · 680 阅读 · 0 评论 -
堆/平衡树——Luogu1801 黑匣子_NOI导刊2010提高(06)
https://www.luogu.org/problem/show?pid=1801 那个,这个标题一开始我以为是飞机上的黑匣子。。。 进入正题,输出第k小 我们来脑洞大开一下,因为k是递增的,所以过程相当于不可逆 那么我们可以考虑开两个二叉堆,一个小根堆,一个大根堆 我们限制大根堆的大小为k-1(即要求的第k小-1) 每次插入先入大根堆,如果大根堆大小超过k-1,把大根堆顶的数扔原创 2017-04-07 08:30:05 · 465 阅读 · 0 评论 -
K短路——BZOJ1975/Luogu2483 [SDOI2010]魔法猪学院
http://www.lydsy.com/JudgeOnline/problem.php?id=1975 https://daniu.luogu.org/problem/show?pid=2483 首先我们要想到把这题转化成求k短路 这个怎么说呢。。。先看题目一句话 iPig 的总能量是有限的,所以最多能够转换的样本数一定是一个有限数既然要求每种转换方式都不相同,那就不可能是最短路然后贪原创 2017-03-31 09:31:12 · 1253 阅读 · 0 评论