码迷,mamicode.com
首页 >  
搜索关键字:可并堆    ( 155个结果
BZOJ 4003: [JLOI2015]城池攻占 左偏树 可并堆
https://www.lydsy.com/JudgeOnline/problem.php?id=4003 感觉就是……普通的堆啊(暴论),因为这个堆是通过递归往右堆里加一个新堆或者新节点的,所以要始终保持右边的堆比左边的堆小一些以保证复杂度,大概因为这个所以也叫左偏树吧。 这个题我最开始看错题目了 ...
分类:其他好文   时间:2018-03-28 16:54:40    阅读次数:155
bzoj 4585 烟火表演 - 动态规划 - 可并堆
题目传送门 传送门I 传送门II 题目大意 给定一棵带边权有根树,修改一条边的边权的代价是修改前和修改后的值的绝对值之差。不能将一条边的边权改为负数。问使得根节点到所有叶节点的距离相等的最小代价。 题目传送门 传送门I 传送门II 题目大意 给定一棵带边权有根树,修改一条边的边权的代价是修改前和修改 ...
分类:其他好文   时间:2018-03-24 23:47:52    阅读次数:203
dp 可并堆 uoj205【APIO2016】Fireworks
http://uoj.ac/problem/205 这题好强啊 设状态$f[id][t]$ 为一个点子树内所有的点在$t$时间完成的最小的代价 通过观察可以发现 $f$值形成了一个下凸包 在区间$[l, r]$取最小值 考虑暴力转移 更新父节点答案 以及暴力合并上一段凸包 复杂度$O((n + m) ...
分类:Windows程序   时间:2018-03-13 18:46:31    阅读次数:282
bzoj2333[SCOI2011]棘手的操作 洛谷P3273 [SCOI2011]棘手的操作
2333? 先记一下吧,这题现在全部都是照着题解做的,因为怎么改都改不出来,只好对着题解改,以后还要再做过 以后再也不用指针了!太恶心了!空指针可不止直接特判那么简单啊,竟然还要因为空指针写奇怪的分类讨论! 没错,就是那个诡异的55和63行。由于要返回删除x后x所在树的新根,要分类讨论:如果x是根且 ...
分类:其他好文   时间:2018-03-03 00:38:27    阅读次数:209
BZOJ 2333 SCOI2011 棘手的操作 并查集+可并堆
记得当时第一次摸这个题的时候做了一个星期没有做出来?(一生之敌) 。。题意概述就不写了。。。(实际上可以不用并查集,可并堆高度平均logn,2s时限堆里面乱搞一下也不会TL,但是还是比较喜欢并查集。。) ...
分类:其他好文   时间:2018-02-25 01:09:19    阅读次数:173
并不对劲的左偏树
为了反驳隔壁很对劲的太刀流,并不对劲的片手流将与之针锋相对。 很对劲的斜堆、左偏树简明教程 它们是可并堆的两种实现方式。 (还是假装二叉堆只包括小根堆。) 斜堆的缺点在于,每次合并的堆大小不同,无条件交换左右子树可能遇到某些坑孙子的数据,复杂度会变得玄学。 左偏树是在斜堆上有所改进的。根据斜堆的代码 ...
分类:其他好文   时间:2018-01-29 20:14:30    阅读次数:203
并不对劲的斜堆
为了反驳隔壁很对劲的太刀流,并不对劲的片手流将与之针锋相对。 很对劲的斜堆、左偏树简明教程 它们是可并堆的两种实现方式。 (假装二叉堆只包括小根堆。) 二叉堆该如何合并?先想一种暴力的。 现在有根的键值较小的二叉堆A,键值较大的二叉堆B。 在合并后,A的根肯定还是根。若A的左、右子树都不为空的话,则 ...
分类:其他好文   时间:2018-01-29 19:20:16    阅读次数:216
可并堆——左偏树、斜堆
经典的二叉堆已经可以在O(logn)的复杂度的情况下维护堆这样的数据结构,也有d-堆可以维护成O(logdn)(虽然pop操作的复杂度是dlogdn),然而这两种堆不能满足logn的合并操作,它们的经常是O(nlogn),即每次将一个堆中的堆顶拿出来放到另一个堆里。虽然有很多情况不经常合并,但有时候 ...
分类:其他好文   时间:2018-01-19 23:25:02    阅读次数:743
真--可并堆模板--BZOJ2333: [SCOI2011]棘手的操作
n<=300000个点,开始是独立的,m<=300000个操作: 方法一:单点修改、查询,区间修改、查询?等等等等这里修改是块修改不是连续的啊,那就让他连续呗!具体方法:离线后,每次连接两棵树u,v时,把v放到u树根节点的最后,使其dfs序最后,最后扫一次把每棵树dfs一下搞出这个序列,然后线段树操 ...
分类:其他好文   时间:2018-01-11 22:15:13    阅读次数:192
BZOJ2809: [Apio2012]dispatching
给n<=100000的树,每个点有权值和代价,有m<=1e9的容量,问:一个点权值*子树内代价总和不超过容量的最大点数的最大值。 其实就是要合并。平衡树、线段树、可并堆挑一个。 可并堆由于没法二分,故“正难取反”,维护最大的,在不够装时弹掉。 1 #include<string.h> 2 #incl ...
分类:Windows程序   时间:2018-01-11 11:30:59    阅读次数:215
155条   上一页 1 ... 5 6 7 8 9 ... 16 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!