摘要:
# 位图 >**给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数** > >**中。【腾讯】** > >1. 遍历,时间复杂度O(N) >2. 排序(O(NlogN)),利用二分查找: logN 申请512M的内存 一个bit位代表一个unsigned 阅读全文
摘要:
**初识哈希** ![](https://img2023.cnblogs.com/blog/3082337/202308/3082337-20230824223755175-1251253134.jpg) >哈希表是一种查找效率及其高的算法,最理想的情况下查询的时间复杂度为O(1)。 > >`uno 阅读全文
摘要:
**封装map和set** # map.h文件 ```c++ #pragma once #include"RBTree.h" namespace mudan { template class map { public: struct MapKeyOfT { const K& operator()(c 阅读全文
摘要:
![](https://img2023.cnblogs.com/blog/3082337/202308/3082337-20230824223723072-1402993661.webp) # bind包装器 >调用bind的一般形式:**auto newCallable = bind(callab 阅读全文
摘要:
![](https://img2023.cnblogs.com/blog/3082337/202308/3082337-20230824223707049-1151210243.webp) # function包装器的使用 >`function`包装器的使用格式 > >**`function`** 阅读全文
摘要:
![](https://img2023.cnblogs.com/blog/3082337/202308/3082337-20230824223638062-1411987226.jpg) # Lambda表达式 >lambda表达式的底层实现涉及到闭包(Closure)的概念。闭包是一个函数对象,它 阅读全文
摘要:
![](https://img2023.cnblogs.com/blog/3082337/202308/3082337-20230824223622468-750211233.png) # 万能引用 >万能引用的格式如下: ```cpp template void PerfectForward(T& 阅读全文
摘要:
# C语言的输入和输出 >C语言中我们用到的最频繁的输入输出方式就是scanf ()与printf()。 scanf(): 从标准输入设备(键 盘)读取数据,并将值存放在变量中。printf(): 将指定的文字/字符串输出到标准输出设备(屏幕)。 注意宽度输出和精度输出控制。C语言借助了相应的缓冲区 阅读全文
摘要:
# static_cast >**static_cast**用于非多态类型的转换(静态转换),编译器隐式执行的任何类型转换都可以用。 > >但**static_cast**不能用于两个**不相关**的类型进行转换。 ```cpp double d = 12.34; int a = static_ca 阅读全文
摘要:
**1、都说c++是面向对象的语言,面向对象的三个特性能 [展开] 介绍一下吗?** >封装:封装是一种集中管理的思想,把内部的数据和实现方法组合在一起,并且不对外暴漏内部的数据和实现方法,只对外提供几个接口来完成函数的调用和数据的操作,保证了数据的安全性和一致性。 > >继承:继承是指一个类可以继 阅读全文
摘要:
# 为什么需要智能指针? >1. 解决忘记释放内存导致内存泄漏的问题。 >2. **解决异常安全问题。** ```cpp #include using namespace std; int div() { int a, b; cin >> a >> b; if (b == 0) throw inva 阅读全文
摘要:
# 传统C语言错误异常的方式 >C语言一般使用`assert`来处理错误,`assert`确实很不错,可以把错误的行数都提示出来,但是,`assert`有一个致命的缺点,就是触发`assert`之后就会终止程序,还有一点就是在`release`环境下,`assert`是不起作用的。 # C++异常处 阅读全文
摘要:
>Linux中一切皆文件,那么文件就应该有相对于的类型,而在Linux当中,类型不是直接看后缀来决定的。 ![](https://img2023.cnblogs.com/blog/3082337/202308/3082337-20230824223318240-1197469111.png) | - 阅读全文
摘要:
# 更换阿里云的yum源 yum源存储的位置在: ``` etc/yum.repos.d ``` ![](https://img2023.cnblogs.com/blog/3082337/202308/3082337-20230824223207238-943377415.png) 记住这个名字 ` 阅读全文
摘要:
# 布隆过滤器 >布隆过滤器就是为了解决位图不能解决的问题。 > >1. 用哈希表存储用户记录,缺点:浪费空间 >2. 用位图存储用户记录,缺点:不能处理哈希冲突 >3. **将哈希与位图结合,即布隆过滤器** # 布隆过滤器的概念 >**布隆过滤器是由布隆(Burton Howard Bloom) 阅读全文
摘要:
![](https://pic.imgdb.cn/item/64b4e36c1ddac507cc04f921.jpg) >[二叉查找树](https://baike.baidu.com/item/二叉查找树/7077965?fromModule=lemma_inlink)(Binary Search 阅读全文
摘要:
![](https://pic.imgdb.cn/item/64303cb20d2dde5777f6c983.png) AC代码: ```c++ #include #include #include using namespace std; const int N = 510; int ans[N] 阅读全文
摘要:
#### list的反向迭代器 @[TOC] ![](https://pic.imgdb.cn/item/64a7fad91ddac507cc9def62.jpg) #### reverse.h ```c++ #pragma once namespace mudan { template struc 阅读全文
摘要:
C++引用(&)笔记 ![](https://pic1.imgdb.cn/item/645f7cc40d2dde5777011932.jpg) 1.寄存器一般只有4/8个字节,所以返回时候的中间变量(下图的临时变量)不一定是储存在寄存器当中 ![](https://pic1.imgdb.cn/ite 阅读全文
摘要:
算法竞赛进阶指南 位运算 AcWing 89. a^b ```c++ #include using namespace std; int main(void) { long long a,b,p; cin>>a>>b>>p; long long ans=1%p; while(b) { if(b&1) 阅读全文