平衡树
文章平均质量分 83
CMTM4
ACM退役
展开
-
【NOI2004】郁闷的出纳员 平衡树
PS:SPLAY依然不能一次写对…… 总会写出毛病,真是醉醉醉醉醉…… 这题难点在于变动工资,我们只需要变动工资K,表示工资现在增加了K。 然后如果有员工进来,【并且进的来,初始工资比最低工资高】,那么我们就把这个员工的工资,减去K这个值,加入到平衡树中。 删人的的时候,只要查比【初始工资+工资变化量K】小的数字全删掉。 这里不需要一个一个删,大多数平衡树都会支持删整棵树的操作原创 2015-02-13 00:35:14 · 504 阅读 · 0 评论 -
【HNOI2004】宠物收养所 平衡树
其实就是查找前驱和后继的问题, 因为绝对值最小的情况,一定是前驱和后继和k的绝对值。 这里处理有一个小方法, 一开始在树中加入maxnum和minnum2个值。 树有2个节点,就为空树。这样就不会有不存在前驱和后继的情况了。 同时还用到一个技巧,flag。 flag=0和1. 如果读入的是0和1,和flag相同就插入,否则就删除。 如果树的节点数量为2,那么flag^=f原创 2015-02-12 21:23:18 · 444 阅读 · 0 评论 -
POJ 3481 multimap / 平衡树 / splay
题目意思: 0 结束系统 1 K P 把一个叫K的客户,加入系统。他的优先级是P 2 输出最高优先级的客户名字, 同时删掉他 3 输出最低优先级的客户名字,同时删掉他 想法: 平衡树,找最大值最小值即可。 C++这次我试了试multimap,挺好玩的。实际上这题也应该没重复关键字吧~ iterator 迭代器的begin()肯定是最小值原创 2015-02-13 12:21:59 · 476 阅读 · 0 评论 -
POJ 2761 依然是平衡树
题目大意: 先给定一大堆数字,(下标从1开始!!! 我当从0了,WA掉了2次!) 然后给定区间[L, R]问[L,R]区间内,第K大的数字是谁。 先预先读取所有区间,把区间排序。 然后保证平衡树内只有区间内的元素…… 然后每次直接把区间内的元素问题解决掉……时间复杂度略高nlogn而且n特别大,跑了5秒多 2761 Accepted 41原创 2015-02-13 22:27:08 · 456 阅读 · 0 评论 -
NOI2007货币兑换CASH 斜率DP
做到一道题,不会做。 题解说是FFT+ CDQ分治。 学会了FFT,发现不会CDQ分治。 去看CDQ的论文,发现用了CASH这道题…… 然后貌似有斜率DP的东西,就顺便学了斜率DP,写了之前HDU的一道题,继续写这道题…… 各种题解各种SPLAY,我一想,这道题用map就行了啊……然后写了200多行,还超级慢…… 最囧的问题,在我和朋友的电脑上,用NOI的数据AC,在原创 2016-08-01 22:42:26 · 690 阅读 · 2 评论