摘要: 数据结构 树状数组 线段树 主席树 splay lct 字符串 KMP 字符串hash AC自动机 字典树 杂 思维 贪心 博弈 二分 && 三分 双指针 分治 CDQ 点分治 图 Tarjian缩点 最短路 Dijkstra ballman_ford 欧拉回路 最小生成树 拓扑排序 网络流 常用算 阅读全文
posted @ 2018-05-26 23:37 Schenker 阅读(393) 评论(0) 推荐(1) 编辑
摘要: SPOJ - 3267 主席树的又一种写法。 从后端点开始添加主席树, 然后如果遇到出现过的元素先把那个点删除, 再更新树, 最后查询区间就好了。 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define Fopen freopen("_i 阅读全文
posted @ 2018-05-26 21:08 Schenker 阅读(134) 评论(0) 推荐(0) 编辑
摘要: Dynamic Rankings 带修改的区间第K大其实就是先和静态区间第K大的操作一样。先建立一颗主席树, 然后再在树状数组的每一个节点开线段树(其实也是主席树,共用节点), 每次修改的时候都按照树状数组的方式去修改,并且修改那些地方。查询的时候就是查询原主席树+树状数组的值。 代码: 1 #in 阅读全文
posted @ 2018-05-26 13:04 Schenker 阅读(185) 评论(0) 推荐(0) 编辑