摘要: K-th Number 多次询问一个静态区间里的第k大数。怎么搞? 暴力?(还是别想了) 多次构建树状数组?(和暴力有啥区别) 于是一个叫做划分树的东西就登场了。(据说还有个叫归并树的,速度慢一点,就不学了) 划分树详解 ——代码 1 #include <cstdio> 2 #include <al 阅读全文
posted @ 2017-04-21 19:32 zht467 阅读(169) 评论(0) 推荐(0)
摘要: 洛谷传送门 入门难度。。 没错,但是我并不是要暴力做。 而是用树状数组来做。 先离散化,然后随便搞一搞就可以了。(晕。比暴力还慢) 如果要查找某一区间的的话可以把区间取出重新建树,然后再求。(更暴力) 1 #include <cstdio> 2 #include <vector> 3 #includ 阅读全文
posted @ 2017-04-21 14:53 zht467 阅读(176) 评论(0) 推荐(0)
摘要: 洛谷传送门 虽然可以用归并排序求,但我实在记不住归并排序的代码。 还是树状数组和蔼点。 先离散化,树状数组就可以开小点,不过耗的时间多点。 ——代码 1 #include <cstdio> 2 #include <algorithm> 3 #define lowbit(x) x & -x 4 5 u 阅读全文
posted @ 2017-04-21 14:35 zht467 阅读(133) 评论(0) 推荐(0)
摘要: 把暂时无法解决的问题先放在这,等以后对前置的算法或数据结构有更深的理解后再来学习。 二逼平衡树(树套树)传送门 AC自动机√ 后缀数组 点双联通分量 边双联通分量(这个。。知道怎么搞但没有实践过) 2-sat 主席树√ Little Devil I(树链剖分,然而不会了) http://www.cn 阅读全文
posted @ 2017-04-21 09:19 zht467 阅读(173) 评论(0) 推荐(1)
摘要: 洛谷传送门 这道水题告诉了我,堆优化的prim有时还不如朴素prim快。。。 居然记错时间复杂度了,我也真是菜。 1 #include <cstdio> 2 #include <queue> 3 #include <cmath> 4 5 using namespace std; 6 7 int n; 阅读全文
posted @ 2017-04-20 19:59 zht467 阅读(156) 评论(0) 推荐(0)
摘要: 简单的代码。。 时间复杂度为O((n + m)logn) 大部分情况下还是跑不过kruskal的,慎用。 1 #include <cstdio> 2 #include <queue> 3 #include <cstring> 4 #define heap pair<int, int> 5 6 usi 阅读全文
posted @ 2017-04-20 19:25 zht467 阅读(539) 评论(0) 推荐(0)
摘要: Splay? Mplay? 阅读全文
posted @ 2017-04-19 19:34 zht467 阅读(252) 评论(2) 推荐(1)
摘要: 启发式合并——染色后的布丁也能吃 阅读全文
posted @ 2017-04-19 10:37 zht467 阅读(172) 评论(0) 推荐(2)
摘要: Treap——人和狗都收养 阅读全文
posted @ 2017-04-18 21:39 zht467 阅读(133) 评论(0) 推荐(1)
摘要: Tree和Heap生了个孩子叫Treap 阅读全文
posted @ 2017-04-18 11:45 zht467 阅读(160) 评论(0) 推荐(1)