摘要:这几天了解了一下平衡树,大概有如下几种:AVL, 红黑, SBT, splay, treap, 后两者不是很严格的平衡。反正先拿splay练手了,感觉比较热门。。。平衡树的维护都靠旋转,splay也是。其核心是Splay(x, goal)操作:把节点x一层层Rotate上去,直到x到达目的地goal下方;它支持任意区间的更新,查询,插入,删除and翻转,O(lgn)。模板来源:(盗用自notonlysuccess牛) http://www.notonlysuccess.com/index.php/splay-tree/用法:(来自Crash牛) http://www.docin.com/p..
阅读全文
摘要:http://acm.cs.ecnu.edu.cn/problem.php?problemid=1444约瑟夫环问题找规律: 1 1 1...1 2 1 10...1 3 3 11...1 4 1 100...1 5 3 101...1 6 5 110...1 7 7 111...1 8 11000...1左移一位 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 ...
阅读全文
摘要:http://acm.cs.ecnu.edu.cn/problem.php?problemid=1443题目的大意就是说密码是n位的,所以有10^n种情况,然后由于当输入密码长度大于n时,只有最后n为有效。这样我们只要用一个(10^n+n-1)长的数字序列,就能破解这个密码。用DFS找一个欧拉回路,按照字典序输出路径。由于状态过多,不能用递归,要用非递归实现DFS,然后用stack会超时,那就自己写个数组吧 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include...
阅读全文