摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1890【题意】 给你n个数,每次将第i个位置到第i大的数所在位置之间的数进行翻转,模拟一种排序的操作,输出的是第i次操作第i大的数所在的位置。【分析】 这题和2012天津现场赛的K题类似,用Splay Tree 来记录节点间的相对左右关系,树的中序就是原数列。每个节点记录以自己为根的子树有多少个节点,这样就可以很快知道一个数的左边右多少树了。每次操作后要删除第i大数的节点,根据题目要求元素要用stable_sort排序,并记录节点指针地址,这样的话第i个答案就是i+path[i-1].t->l 阅读全文
posted @ 2013-08-16 16:16 wuminye 阅读(361) 评论(0) 推荐(0) 编辑