堆
dance_in_the_dark
这个作者很懒,什么都没留下…
展开
-
NOIP提高组 旷野大计算
DescriptionData ConstraintSolution对于这种区间查询的题,我们直接上莫队,用堆处理一下就可以用O(NN−−√logN\sqrt{N}logN)的时间卡过去。.原创 2016-09-08 17:36:31 · 1113 阅读 · 0 评论 -
NOIP提高组【JZOJ4815】ksum
DescriptionData ConstraintSolution我们考虑用堆来解决这道题。显然我们维护一个大根堆,每次抽取最大的一个输出,并将他向左向右各移动一位加入堆中,从堆中删除堆顶,不断维护就好了。时间复杂度为O(KlogKlogK)。代码#include<iostream> #include<cmath> #include<cstring> #include<cstdio> #inclu原创 2016-10-10 14:24:16 · 389 阅读 · 0 评论 -
NOIP提高组【JZOJ4811】排队
DescriptionData ConstraintSolution对于询问一,我们只要用堆来查看一下当前没有人的优先级最小的是哪个房间,逐个放进去就好。那对于询问二,我们用LCA计算一下该点到根的路径上的离当前点最远的点,将它往下跳一个格即可。代码#include<iostream> #include<cmath> #include<cstring> #include<cstdio> #inclu原创 2016-10-04 21:36:38 · 375 阅读 · 0 评论 -
【JZOJ5043】【NOI2017模拟4.4】保持平衡
Description博爱路上种起了一棵棵的大树,但是有一些地方的树超过了负荷,有一些地方的树的数量又不够。 我们不妨把博爱路看做一条数轴,数轴有n个点,从1到n编号,第i个位置原来现在有ai棵树,这个位置的需求是bi棵树。ai,bi都是0到10的整数。由于你需要是这个位置的树的数量保持平衡,所以你需要移除或者搬一些树过来。 我们怎么使树的数量平衡呢? 首先,你可以从某个位置i移动一棵树到位置原创 2017-04-07 09:05:29 · 532 阅读 · 0 评论 -
【JZO5271】【GDOI2018模拟8.14】神奇的救火现场
DescriptionData ConstraintSolution这和以前的jzoj上一道叫保持平衡的题很像啊。当然也有线性的做法,但我们这里只讲一下NlogN的做法。 我们维护两个小根堆分别为水栓和车的供给代价。每遇到一辆车,若水栓不为空,我们从水栓的堆中取出最小的代价x与其坐标相加后加入答案,并将坐标取反-代价加入车堆,若水栓为空,我们则将代价设为+∞重复刚才操作,表示以后若有水栓优先供应给原创 2017-08-21 22:54:39 · 370 阅读 · 0 评论