ACM常见小技巧汇总
Ordinary_yfz
知乎个人主页zhihu.com/people/zyf-98-4,现在涉及CV,transfer learning,unsupervised,GAN,REID,OOL很多研究方向,会经常写一些综述/论文阅读笔记。
展开
-
[Data Structure] 数据结构中各种树
数据结构中有很多树的结构,其中包括二叉树、二叉搜索树、2-3树、红黑树等等。本文中对数据结构中常见的几种树的概念和用途进行了汇总,不求严格精准,但求简单易懂。文章目录1. 二叉树2. 二叉查找树3. 平衡二叉树3.1 平衡查找树之AVL树3.2 平衡二叉树之红黑树4. B树5. B+树6. B*树7. Trie树1. 二叉树二叉树是数据结构中一种重要的数据结构,也是树表家族最为基础的结构。二叉树的定义:\textbf{二叉树的定义:}二叉树的定义:二叉树的每个结点至多只有二棵子树(不存在度大于2的转载 2020-06-22 16:08:01 · 645 阅读 · 0 评论 -
字符串匹配:字符串hash,后缀数组,高度数组,AC自动机,KMP
一、字符串hash二、后缀数组三、高度数组四、KMP五、AC自动机一、字符串hash字符串hash+二分入门题寻找字符串s中字符串t出现的位置或次数的问题属于字符串匹配问题。我们在接下来的讨论中假设s的长度为n,T的长度为m。 最朴素的想法是,枚举所有起始位置,再直接检查是否匹配,复杂度为O(mn)O(mn)O(mn)的算法。还有几个更为高效的算法。而在此我们只介绍实现起来较为容易,...原创 2020-04-14 13:09:44 · 396 阅读 · 0 评论 -
2559:Largest Rectangle in a Histogram:单调栈统计直方图最大矩阵面积
首先一个显而易见的解法,我们遍历区间的所有组合,求出每个组合的区间最小值,然后乘以区间长度,得到矩形面积,然后求最大的矩形面积。此时最耗时的点在于求每个组合的区间最小值,即使用了单调队列这也是一个O(n2)O(n^2)O(n2)的过程,不可取。那么神奇的单调栈就出现了,看了不少题解,感觉都不是很清晰,找到一篇不错的,加上自己的一点理解加深印象单调栈先上代码,然后一步一步看看这么做的理由#i...原创 2020-04-10 23:35:03 · 153 阅读 · 0 评论 -
C/C++常用数据类型表示范围整理+大数乘法/大数加法
c++基础类型的表示范围,double可以表示 1e308次方,对于300位以内的乘法,乘方问题完全可以调用库函数cmath,大数乘法,加法的操作一半会用二分法。原创 2020-04-08 18:31:12 · 680 阅读 · 1 评论 -
1014 Dividing-简单DP,潇洒AC:如何判断一个序列的任意整数之和是否能凑成某个数?
看了不少题解,各种倍增优化,dfs剪枝,写的还都不明不白的,还是自己写一个的比较好。题目大意Marsha和Bill拥有一系列大理石。 他们希望将藏品分开,以使两者获得相同的份额。 如果所有的大理石都具有相同的价值,这将很容易,因为那样他们就可以将收藏品分成两半。 但不幸的是,有些大理石比其他大理石更大或更漂亮。 因此,玛莎(Marsha)和比尔(Bill)首先为每个大理石分配一个值,即一个介于...原创 2020-03-21 14:21:09 · 365 阅读 · 0 评论 -
priority_queue:如何创建大顶堆?如何创建自定义类型的堆?
写程序经常会用到priority_queue,大小顶堆,由于用的不熟,今天总结一下留个纪念。一、基本使用priority_queue 对于基本类型的使用方法相对简单。他的模板声明带有三个参数,priority_queue<Type, Container, Functional>Type 为数据类型, Container 为保存数据的容器,Functional 为元素比较方式。...原创 2020-03-20 22:04:52 · 1117 阅读 · 1 评论