自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 收藏
  • 关注

原创 【C++ 基础知识】__attribute__((constructor)) 和 __attribute__((destructor))

2:只有constructor有优先级,指定优先级时,先执行优先级小的,再执行优先级大的,最后执行没有指定优先级。0-100是保留优先级。给编译器提供上下文,帮助编译器做优化,合理使用可以收到显著的优化效果。((constructor)) 先于main()函数调用,((destructor)) 在main()函数后调用。给代码阅读者提供必要的注解,助其理解代码意图。产生一些编译警告,使代码更规范。

2022-08-22 00:21:50 1097 1

原创 【算法总结】十大排序对比及实现(C++)

⽤两个游标 i 和 j,分别指向 A[p…r] 的第⼀个元素。⽐较这两个元素 A[i] 和 A[j],如果 A[i]

2022-08-09 13:11:39 366

原创 【LeetCode 周赛】第84场双周赛

LeetCode 84场双周赛

2022-08-07 16:40:59 185

原创 【ACWing 算法基础】DFS

N皇后解析。

2022-08-06 09:08:25 171

原创 【ACWing 算法基础】C++ STL 容器简介

【ACWing 算法基础】C++ STL 容器简介。

2022-08-05 12:01:44 106

原创 【ACWing 算法基础】字符串哈希

字符串的前缀哈希法易懂的解释详细的证明。

2022-08-05 10:53:52 174

原创 【工具配置篇】VSCode 常用使用总结

VSCode 常用使用总结。

2022-08-04 11:07:54 107

原创 【ACWing 算法基础】模拟散列表

拉链法开放寻址法散列表原理。

2022-08-03 14:03:51 166

原创 【ACWing 算法基础】堆(堆排序、数组模拟堆)

如何手写堆?堆排序中如何将数组构造成堆中?如何理解模拟堆中的heap_swap,hp[N], ph[N]?

2022-08-03 01:30:12 290

原创 【ACWing 算法基础】并查集

合并时必须让x,y的祖宗相等,如果仅仅等于父亲或者本身的话,树的高度太高了,会超内存原理图:路径压缩。

2022-08-02 19:45:56 173

原创 【ACWing 算法基础】Trie(字典树)

如何理解单(双)链表,Trie树和堆中的idx?

2022-08-02 18:25:07 162

原创 【ACWing 算法基础】KMP

将暴力的O(N*N)降为了O(N)解题方法先写匹配的部分,再写next数组的部分,思路一样的next,for内部(i=1,j=0)1.匹配不成功则一直回退,直到j=0时没有办法2.回退之后,匹配成功,j++模式串向前推进3.判断j==m,看是否比较完next,for内部(i=2,j=0)将s换为p1.匹配不成功则一直回退,直到j=0时没有办法2.回退之后,匹配成功,j++模式串向前推进。.........

2022-08-02 16:59:25 372

原创 【ACWing 算法基础】单调队列

解析动画解题思路解决队首已经出窗口的问题;解决队尾与当前元素a[i]不满足单调性的问题;将当前元素下标加入队尾;如果满足条件则输出结果;

2022-08-01 16:25:49 193

原创 【ACWing 算法基础】单调栈

Q为什么要保持栈内元素大小的单调递增特性?由于栈内元素是递增的,所以比较次数一定是最少的,这就实现了优化。Q如何保持栈内元素大小的递增性?在依次出栈比较栈顶元素和当前数组元素大小的时候,如果栈顶元素小,那么找到目标值,将当前数组元素入栈,这样保持了栈内元素大小的递增性;如果栈顶元素大,那么栈顶指针左移,直到找到目标值,再将当前数组元素入栈,这样就保持了栈内元素大小的递增性。我们不必在意这个过程破坏了栈的结构,因为之前的数已经找到之前数组元素对应的目标值了。......

2022-08-01 14:23:03 216

原创 【ACWing 算法基础】栈和队列(用数组构造栈和队列)

栈和队列(用数组构造栈和队列)

2022-08-01 11:49:33 85

原创 【ACWing 算法基础】双链表(数组模拟双链表)

插入操作删除操作。

2022-08-01 11:13:27 353

原创 【ACWing 算法基础】单链表(数组模拟单链表)

为什么要用数组模拟单链表?->数组是静态空间,用指针的话每次都要new,会很慢.

2022-08-01 09:56:55 585

原创 【ACWing 算法基础】区间合并

精髓就是按左端点排序,然后在模拟可能的情况。

2022-08-01 01:50:21 469 1

原创 【ACWing 算法基础】离散化

为什么要离散化呢?因为存储的下标实在太大了,如果直接开这么大的数组,根本不现实,第二个原因,本文是数轴,要是采用下标的话,可能存在负值,所以也不能,所以有人可能会提出用哈希表,哈希表可以吗?离散化的本质,是映射,将间隔很大的点,映射到相邻的数组元素中。减少对空间的需求,也减少计算量。......

2022-07-30 16:14:01 301

原创 【ACWing 算法基础】位运算

你可以取个例子,10…0=x+(~x)+1.其实x+(~x)=11…1(32位全为1,再加上个1,才能变成10…共一行,包含n个整数,其中的第i个数表示数列中的第i个数的二进制表示中1的个数。给定一个长度为n的数列,请你求出数列中每个数的二进制表示中1的个数。第二行包含n个整数,表示整个数列。0≤数列中元素的值≤109。第一行包含整数n。...

2022-07-30 11:59:27 140

转载 【计算机基础】原码、反码、补码的原理及其作用

原码、反码、补码

2022-07-30 11:20:11 684

原创 【ACWing 算法基础】双指针

通过双指针,可以将暴力的O(n²)降低到O(n)

2022-07-30 10:18:38 174

原创 【工具配置篇】 Linux 下解决 QtCreator 中无法使用 fcitx5 输入法的问题

QtCreator 中无法使用 fcitx5 输入法

2022-07-30 01:27:33 988 1

原创 【ACWing 算法基础】差分

详细总结。

2022-07-29 12:04:35 101

原创 【ACWing 算法基础】前缀和

795.前缀和796.子矩阵的和输入一个n行m列的整数矩阵,再输入q个询问,每个询问包含四个整数x1,y1,x2,y2,表示一个子矩阵的左上角坐标和右下角坐标。对于每个询问输出子矩阵中所有数的和。输入格式第一行包含三个整数n,m,q。接下来n行,每行包含m个整数,表示整数矩阵。接下来q行,每行包含四个整数x1,y1,x2,y2,表示一组询问。输出格式共q行,每行输出一个询问的结果。数据范围1≤x1≤x2≤n,−1000≤矩阵内元素的值≤1000。...

2022-07-29 10:03:28 147

原创 【Effective C++】全面性总结

Effective C++ 的条款总结及解析

2022-07-28 18:34:38 353

原创 【Effective C++】比较 pass-by-value 与 pass-by-referrence

在某些编译器上传递指针的开销比引用大,因为编译器需要保证子类空指针转换成父类指针时还是空指针,从而不得不先判断指针是否为空,如果为空则传0否则加一个偏移量后传递。而引用,在语义上不应该存在“空引用”,所以部分编译器在传递引用时可以不执行这个判断而直接传递加偏移量后的结果。因为使用内置类型时,数据是直接放在栈上或者寄存器里,直接调用就可以了;但是使用例如类这种复杂的传递,开销会更大,会使用引用传递。而使用指针或者引用,得做一次取地址操作才能得到值。...

2022-07-28 17:31:07 152

原创 【ACWing 算法基础】高精度除以低精度

二. 例题794. 高精度除法给定两个非负整数(不含前导 0) A,B,请你计算 A/B 的商和余数。输入格式共两行,第一行包含整数 A,第二行包含整数 B。输出格式共两行,第一行输出所求的商,第二行输出所求余数。数据范围1≤A的长度≤100000 ,1≤B≤10000,B 一定不为 0输入样例:72输出样例:31AC代码:...

2022-07-28 16:07:50 193

原创 【ACWing 算法基础】高精度乘低精度

给定两个非负整数(不含前导0)A和B,请你计算A×B的值。共两行,第一行包含整数A,第二行包含整数B。共一行,包含A×B的值。1≤A的长度≤100000,

2022-07-28 15:41:44 187

原创 【ACWing 算法基础】高精度减法

二. 例题792. 高精度减法给定两个正整数(不含前导 0),计算它们的差,计算结果可能为负数。输入格式共两行,每行包含一个整数。输出格式共一行,包含所求的差。数据范围1≤整数长度≤105输入样例:3211输出样例:21AC代码:......

2022-07-28 15:14:23 174

原创 【ACWing 算法基础】高精度加法

给定两个正整数(不含前导0),计算它们的和。共两行,每行包含一个整数。1≤整数长度≤100000。共一行,包含所求的和。

2022-07-28 14:33:24 154

原创 【ACWing 算法基础】逆序对的数量

逆序对的定义如下对于数列的第i个和第j个元素,如果满足ia[j],则其为一个逆序对;给定一个长度为n的整数数列,请你计算数列中的逆序对的数量。数列中的元素的取值范围[1,109]。第二行包含n个整数,表示整个数列。第一行包含整数n,表示数列的长度。输出一个整数,表示逆序对的个数。......

2022-07-28 11:33:11 168

原创 【ACWing 算法基础】二分查找

二分查找的核心思想->分治既然是分治,遵循以下步骤分解成子问题;递归处理子问题;合并子问题;二分的本质->二段性红色区间的那个点(左边界)即是序列中最后一个满足某条件(红色条件)的元素绿色区间的那个点(右边界)即是序列中第一个不满足某条件(红色条件)的元素当然,绿色区间的点也可以认为是第一个满足某条件(绿色条件)的元素详细分析。......

2022-07-28 10:16:05 191

原创 【ACWing 算法基础】归并排序

归并排序的核心思想->分治既然是分治,遵循以下步骤分解成子问题;递归处理子问题;合并子问题;方法边界注意事项分治算法最怕的就是n分成0和n,或n分成n和0,这会造成无限划分各种问题的详细分析。...

2022-07-28 07:54:45 207

原创 【ACWing 算法基础】第 k 个数

给定一个长度为n的整数数列,以及一个整数k,请用快速选择算法求出数列从小到大排序后的第k个数。第二行包含n个整数(所有整数均在1∼109范围内),表示整数数列。输出一个整数,表示数列的第k小数。第一行包含两个整数n和k。............

2022-07-28 00:26:18 206

原创 【ACWing 算法基础】快速排序

快速排序的核心思想->分治既然是分治,遵循以下步骤分解成子问题;递归处理子问题;合并子问题;

2022-07-27 18:15:38 370

原创 【算法技巧】算法竞赛中的小技巧

【算法技巧】算法竞赛中的小技巧。

2022-07-27 17:31:33 371

原创 【工具使用篇】CLion Keymap

Clion Keymap

2022-07-14 16:06:13 688

原创 【工具使用篇】Visual Studio KeyMap

Visual Studio KeyMap

2022-07-14 15:59:50 443

转载 【MySQL】《MySQL 必知必会》常用命令及总结

《MySQL 必知必会》常用命令及总结

2022-07-13 18:51:49 398

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除