算法
单林敏
心外无物,知行合一
CSDN 做为自己的简要易忘小知识点的记录,而自己的感想和长文一般发布在自己的个人blog,网址如下:
https://www.wolfdan.cn/
展开
-
凸包问题的快包算法代码(C语言)
二维凸包可以用来解决围栏问题、城市规划问题、聚类分析等等。原文链接:http://blog.csdn.net/bone_ace/article/details/46239187分治法时间复杂度:O(n㏒n)。思路:应用分治法思想,把一个大问题分成几个结构相同的子问题,把子问题再分成几个更小的子问题……。然后我们就能用递归的方法,分别求这些子问题的解。最后把每个子问题的解“组装”成原来...转载 2018-08-08 18:03:18 · 5259 阅读 · 7 评论 -
2018多校3Problem A. Ascending Rating
HDOJ6319主要看注释(感觉发布格式环境不太顺手)/*2018年8月7日15:30:53终于读懂了这段短小精悍的代码,开始反思和复盘,以及思考自己怎么才能写出这么牛逼的代码2018年8月7日16:06:08去CSDN分享记录一下,万一帮到别人呢*/#include<cstdio>const int N=10000010;int T,n,m,k,P,Q,R...原创 2018-08-07 16:32:13 · 132 阅读 · 0 评论 -
红黑树C++源码_学习笔记
声明需要结合wiki中的讲解看,此源码是对于wiki中源码的修正以及加注释,从而方便理解wiki链接: 红黑树wiki代码以及注释/*具体见:https://zh.wikipedia.org/wiki/%E7%BA%A2%E9%BB%91%E6%A0%91感觉源码的插入有问题,自己改了一下然后删除中情形二的代码也有问题,wiki源码自己注释反了___版本匹配错了// ```cppif(p == p->parent->leftTree) //rotate_left(p原创 2020-06-07 20:54:45 · 269 阅读 · 0 评论 -
32g_2个2t文件_qq号交集_腾讯后台场景面试题
法一布隆过滤机法二直接用bit位来枚举,假设QQ号最长11个号码,那么就是2^37的大小,就是用37位bit表示所有QQ然后我们再对应每个37bit之外用2bit记录,第一个文件和第二个文件有没有00 表示都没有10 表示仅第一个文件有01 同理仅第二个文件有11 表示两个文件都有此QQ号所以就是39个bit位,我们可以用一个int 32位,和一个char 8 位来一个记录2402^{40}240 / 282^828 = 2322^{32}232Bytes = 4GB < 32GB原创 2020-05-17 17:11:51 · 503 阅读 · 4 评论 -
经典面试题_老鼠毒药问题
老鼠和毒药问题,曾经和hao老师探讨过,一开始用维度思想去解的(1维数组,二维平面,3位矩阵)…今天看了腾讯在知乎上说是和计算机基础有关的知识,然后结合自己对于数字的感知以及对于位运算的感知,才发现就是把老鼠当做10个bit位就行了,可以编码出2^10=1024种喝法,同时把药水编号成为1-1000,凡是编码的2进制编码为1的位值,就要让对应老鼠喝对应号的药水,然后一周后直接通过对应10位bit...原创 2020-04-23 18:19:38 · 1542 阅读 · 0 评论 -
外排序-处理极大量数据的排序算法--5 亿整数的大文件排序的思路
外排序**外排序(External sorting)**是指能够处理极大量数据的排序算法。通常来说,外排序处理的数据不能一次装入内存,只能放在读写较慢的外存储器(通常是硬盘)上。外排序通常采用的是一种“排序-归并”的策略。在排序阶段,先读入能放在内存中的数据量,将其排序输出到一个临时文件,依此进行,将待排序数据组织为多个有序的临时文件。而后在归并阶段将这些临时文件组合为一个大的有序文件,也即排序...原创 2020-02-22 18:42:01 · 1644 阅读 · 0 评论 -
priority_queue使用坑点和题集
2019年7月9日23:27:19 更第一波priority使用pair比较的坑点所以用pair的priority_queue只能使用struct的重载比较,why?!重载运算符的操作不能用于pair类型数据的排序,只能作用于结构体或类对象。—> 所以不能使用node型的priority_queue的函数重载操作符的方法node可以函数操作符重载pair不支持重载运算符...原创 2019-07-10 13:59:25 · 501 阅读 · 0 评论