![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构-排序二叉树
lab104_yifan
这个作者很懒,什么都没留下…
展开
-
UVA 11020 - Efficient Solutions(set)
UVA 11020 - Efficient Solutions题目链接题意:每个人有两个属性值(x, y),对于每一个人(x,y)而言,当有另一个人(x', y'),如果他们的属性值满足x' 思路:由于每个人失去优势后,不可能再得到优势,所以失去优势就可以当成删去这些点,这样的话,就可以用一个multiset来维护点集,每次加入一个点,利用lowerbound,upper_原创 2014-08-24 00:27:07 · 1699 阅读 · 0 评论 -
UVA 10821 - Constructing BST(贪心构造)
UVA 10821 - Constructing BST题目链接题意:有1 - n的数字,要构造一棵高度不超过h的BST,并且要字典序最小的,输出序列思路:贪心构造,既然字典序最小,那么每个子树的根都要尽量小,那么也就是右子树尽量填满,按照这个策略去dfs构造即可代码:#include #include #include using namespace原创 2014-08-25 14:53:31 · 1196 阅读 · 0 评论 -
UVA 1479 - Graph and Queries(Treap)
UVA 1479 - Graph and Queries题目链接题意:给定一个n个结点m条边的无向图,每个结点一个权值,现在有3种操作D x,删除id为x的边Q x k 计算与x结点的连通分量中第k大的数字,不存在就是0C x v 把x结点权值改为v要求计算所有Q操作的和除以Q操作的次数的值思路:Treap的经典题,进行离线操作,把操作全部逆向进行,删边原创 2014-08-25 20:03:25 · 1016 阅读 · 0 评论 -
UVA 1264 - Binary Search Tree(BST+计数)
UVA 1264 - Binary Search Tree题目链接题意:给定一个序列,插入二叉排序树,问有多少中序列插入后和这个树是相同的(包括原序列)思路:先建树,然后dfs一遍,对于一个子树而言,只要保证左边和右边顺序对就可以了,所以种数为C(左右结点总数,左结点),然后根据乘法原理乘上左右子树的情况即可代码:#include #include t原创 2014-08-25 11:30:00 · 1484 阅读 · 0 评论 -
11922 - Permutation Transformer (Splay区间翻转)
UVA 11922 - Permutation Transformer题目链接题意:给一个序列,每次操作选择(a,b),把(a,b)序列翻转之后加到末尾,求最终序列思路:Splay的应用,多一个flip标记,在开头多一个虚拟的0结点,这样每次就利用Splay进行分裂合并即可代码:#include #include #include #include原创 2014-08-26 20:43:46 · 866 阅读 · 0 评论