1. 数据结构汇总

    总结一下接触过的常用数据结构(FIFO队列和栈就不说了,SPLAY、Treap、红黑树什么的看情况再写)

    先说下STL,STL迭代器分为五种,input,output,正向,双向,随机存取。支持后面特性的迭代器一定支持前面的。

    STL中,vector和deque都支持随机访问;set,map和list都只支持到双向迭代器,不支持随机存取,也就是说不能对这三个的迭代器进行+-运算(但是可以进行++,--运算,因为支持双向迭代);stack,queue,priority_queue不支持迭代器,它们都是容器适配器。

    1、单调队列

    队列内的元素是单调排列的,和普通队列的区别在于队列尾部可以弹出元素。常用于优化DP什么的,一般可以把复杂度相对高的东西优化不少。

    2、树状数组

    问题是:给定一个数组,支持两种操作:A.修改某个元素的值,B.查询某个区间[L,R]的所有元素的和

    树状数组也叫Fenwick Tree,本质是用数的二进制进行快速计算,设置一个C数组,C ...

Pages

Categories

Tags

Page 1 / 1