354. 俄罗斯套娃信封问题 描述: 思路:先按照第一个维度排序,第一维度相同时,第二维度降序。然后对第二维度进行最长上升子序列。(第二维度降序是为了避免同长度下的嵌套) 355. 设计推特 描述: 思路:通过一个map来维护一个用户发的推文。(推文对象之间用链表连接)。然后用一个优先队列得出10个 ...
分类:
其他好文 时间:
2020-07-10 12:59:48
阅读次数:
79
原文在以下链接 文章来源为: 我的个人博客http://www.songbowen.top/blog/detail/27 ...
分类:
Web程序 时间:
2020-07-09 17:58:56
阅读次数:
103
最短路算法(三)Dijkstra算法 PS:因为这两天忙着写GTMD sagment_tree,所以博客可能是sag+图论混搭着来,另外sag的基本知识就懒得整理了…… Part 1:Dijkstra算法基本信息 以下,我们用dis[n]表示1->n的最短路径长度,vis[n]表示n号节点有没有被访 ...
分类:
编程语言 时间:
2020-07-09 12:17:08
阅读次数:
123
思路 首先 想到的就是暴力算法,将二维数组拆成一维数组,排序(或者直接放进优先队列)最后竟然过了。。。 因为矩阵在行列方向上都是升序排列的,在有序数组中搜索一个数字常用二分法,所以可以考虑变种的二分法。 二维数组从左下向右上搜索,每次搜索检查一下当前搜遍历到数字范围有没有超过k。 代码 暴力: im ...
分类:
编程语言 时间:
2020-07-02 09:30:14
阅读次数:
57
#走进堆 堆分为大根堆和小根堆,大根堆堆顶元素最大,越往下元素越小,小根堆相反,堆顶元素最小,越往下元素越大 ##1.定义 手写堆是什么,表示从来没用过,要写堆当然要用我STL的优先队列啦 priority_queue<int> q;//默认的优先队列是大根堆 priority_queue<int, ...
分类:
其他好文 时间:
2020-06-27 20:28:22
阅读次数:
80
栈和stack stack<Type> s; //定义栈,Type为数据类型,例如 int,float,char等 s.push(item); //把item放到栈顶 s.top(); //返回栈顶的元素,但不会删除 s.pop(); //删除栈顶的元素,但不会返回,在出栈时需要进行两步操作 //先 ...
分类:
其他好文 时间:
2020-06-27 00:31:26
阅读次数:
176
1、搜索被执行成一个两阶段过程,我们称之为 Query Then Fetch; 2、在初始查询阶段时,查询会广播到索引中每一个分片拷贝(主分片或者副本分 片)。 每个分片在本地执行搜索并构建一个匹配文档的大小为 from + size 的 优先队列。 PS:在搜索的时候是会查询 Filesystem ...
分类:
其他好文 时间:
2020-06-26 12:47:39
阅读次数:
95
题目链接 题意: ? 对于给定序列,求出前奇数个元素的中位数。 思路: ? 既然要求中位数,根据题目一看,有点类似与滑动窗口那道题,但想了想,不一样。暴力维护队列,O(\(n^2\))的时间复杂度面对十万肯定会爆,再试试之前学过的STL模板的优先队列和set是否可以,发现两者对于中位数的查找似乎显得 ...
分类:
其他好文 时间:
2020-06-22 21:18:49
阅读次数:
79
ACM-ICPC模板 一、线段树优化的$Dijkstra$ 优先队列版本已经烂大街了,这里就不贴了,而且在下面的分层图里有写 1.普通线段树 时间和内存均是优先队列优化版本的 \(\frac{1}{2}\) int n, m; struct edge { int to, w, nxt; edge() ...
分类:
其他好文 时间:
2020-06-20 21:08:35
阅读次数:
53
分层图最短路是指在可以进行分层图的图上解决最短路问题。分层图:可以理解为有多个平行的图。 图片来源 ####这个图的意思是第0层是原始的图,上面的1—k层都是第0层的映射。 层内(同一层),仍然是u->v的关系,权值为w. 层间(不同层),也是u->v的关系,但权值是0, 比如图中的$S_0$与$a ...
分类:
其他好文 时间:
2020-06-15 22:46:20
阅读次数:
58