树状数组&&线段树&&Treap
文章平均质量分 79
Good_night_Sion_
Good Night, Sion.
展开
-
2016ICPC大连网赛 Weak Pair 线段树&&树状数组
老实说比赛的时候没做出来,后来看了题解,然后发现有很多种办法可以做,一种解法是用Treap,我第一次看到这个数据结构,以后补发用Treap写的方法,先上用树状数组和线段树的做法。 其实树状数组和线段树的做法差不多,都是把这个问题转化到求区间【1,k/value】里的元素个数上面来,只不过需要离散化,因为这里的数据很大,显然不能开 pow(10,9)的数原创 2016-09-14 14:58:12 · 814 阅读 · 2 评论 -
CSUOJ nineteen thirteen One big silly dragon gives gifts out 线段树 二分 转化
标题含有敏感词,莫名被锁了2次。OTZ,用英文总该没事Description这天一条大笨龙(菜比出题人dota2游戏名称)的好朋友高素质玩家(某素质玩家dota2游戏名称)天天被朋友黑,一条大笨龙觉得太可怜了,一条大笨龙准备送点礼物给他作为安慰。一条大笨龙现在有一个长度为n的整数序列。然而他的这个好朋友非常喜欢鸽子,他有想对这个序列进行某种变形操作(第一类操作),给出一些区间[l,原创 2017-06-07 16:53:30 · 811 阅读 · 0 评论 -
CSUOJ 1942 Sort String 线段树 操作变换
DescriptionGiven a string S ,the length is n ,and It contains only lowercase English letters.Also given q queries each query is on the format i j k ,that means sort the substring consisting of the c原创 2017-06-06 21:14:46 · 427 阅读 · 0 评论 -
HDU 1166 敌兵布阵 zwk线段树
线段树的板题,题意没什么好讲的吧。区间求和,单点修改。因为看主席树的时候看到那边的query是用迭代写的,因此想想来看看迭代的线段树。其实关于单点修改和区间求和的部分,那张讲稿上已经讲得很清楚了,只是剩下一个怎么init线段树的问题。其实仔细想一想应该也是能够写出来的,我就是按照他的思路然后自己写的......init用的也是迭代的方法,假若不能理解的话,那还需再看看那原创 2017-06-06 14:47:45 · 664 阅读 · 0 评论 -
HDU 5877 2016ICPC大连网赛 Weak Pair Treap解法
好吧,因为模板问题弄了好久,最好还是弄出来了。。。经历了好多次WA以及RE,AC了,我感觉这一次的模板应该是没有问题的, 先建一张图,DFS,每到一个节点的时候先查询看看Treap里面有哪些数比k/value[now]小,假若value[now]是0的话,那就加上整个Treap上的节点数,然后把这个节点的权值插到Treap里面去,等到底下的节点都遍历完成了的原创 2016-10-02 14:51:08 · 441 阅读 · 0 评论 -
POJ 2352 Star Treap||树状数组
发现这道题目用Treap居然可以做。。好吧,我从来没有想过,但是稍微思考一下发现这样也确实是有可行性,用Treap写完以后发现,用了500ms+,于是想看看用树状数组写要用多久,树状数组用了接近400ms,其实时间是差不多的,但是代码长度树状数组几乎是Treap的一半。。果然还是树状数组好写呀。 Treap的想法是插入横坐标,因为纵坐标单调递增,所以每一次只需原创 2016-09-29 09:08:21 · 286 阅读 · 0 评论 -
POJ 3481 Double Queue Treap
好吧,这道题目感觉就是一道裸题了,要求插入删除,查询最大最小,直接动手写喽。 Tips:原模板是long long的,这里为了把long long 换成int所以用了一个define,Tree里面的key表示p,index表示k,然后根据需求来就好,记得查完之后删掉。 这其实是一个双端优先队列。#include原创 2016-09-29 08:24:31 · 321 阅读 · 0 评论 -
POJ 1442 Black Box Treap
开始学习Treap这个结构了,先拿这道题目来练一练手吧! 老实说这道题目一开始没怎么把题目看明白。。。后面才明白题目给的两个序列的意思。 A(M)这个序列是准备加到Black Box那里面去的元素,也就是add操作,U(n)这个序列代表的是总共执行了多少个add操作之后就执行一个get。原创 2016-09-26 16:43:53 · 522 阅读 · 0 评论 -
POJ 3321 Apple Tree 树状数组 树到数组的映射 区间求和
我觉得是一道很不错的题目了,自己写出来的感觉真是不错。。。(虽然是看了别人的题解),总之写完之后我又回过头思考了一下,发现大概的思考路径可能是这样: 这道题目的重点就是在于对于操作Q的处理上,也就是求和。一个很朴素的想法就是遍历子树,可是当需要大量操作的时候,这样的是不行的。然后就想到利用树状数组进行区间求和,可是题目并没有说明这棵是一个二叉树,而且也不能保证每一棵子树的编号最终原创 2016-08-15 17:12:50 · 715 阅读 · 0 评论 -
POJ 2104 K-th number 主席树 函数式线段树
Language:DefaultK-th NumberTime Limit: 20000MS Memory Limit: 65536KTotal Submissions: 57006 Accepted: 19670Case Time Limit: 2000MSDescriptionYou are w原创 2017-06-08 15:57:31 · 1701 阅读 · 1 评论