随笔分类 - 数据结构&算法模板
摘要:离散化 将无穷大集合的若干元素映射到有限集合便于统计的方法 vector<int> alls; // 存储所有待离散化的值 sort(alls.begin(), alls.end()); // 将所有值排序 alls.erase(unique(alls.begin(), alls.end()), a
阅读全文
摘要:题目 Leetcode:2290 两题均可用bfs算法做出,但很难做到最优。 而如果将queue替换成deque将可以将速度提升一倍 思路 主要是将优先级较高的放在队列前面,提前出队,优先级低的放在队列尾处。 如何判断优先级将是至关重要的 如果路过该点会使的之后的答案与题目要求相违背 即该点优先级较
阅读全文
摘要:区间合并 统计区间中的整数数目 解析 利用set反向存储区间,利于通过lower_bound()找到右端点大于等于left-1的区间 通过l,r合并区间,不断删除与之相交的区间 my'code class CountIntervals { public: typedef pair<int,int>
阅读全文
摘要:基数排序 一般的排序是从个位开始进行桶排序的 例子 {05,46,13,55,94,17,42},一趟基数排序后变为->{42,13,94,05,55,46,17} 希尔排序(缩小增量排序) 需要增量序列,间隔排序 快速排序 元素移动次数与关键字的初始排序有关:越乱越快,
阅读全文