随笔分类 - C++
发表于 2023-03-18 10:29阅读:27评论:0推荐:0
摘要:1.第k个数 这道题虽我做出来了,并且通过了,但是你老师永远是你老师,我还是太弱了。 我的想法很简单,先快排,然后直接输出那个位置即可,时间复杂度是O( nlogn) 但是老师提出了一个新思路,可以说叫做快选,时间复杂度是O(n) 我们快排思路是每次将区间分成两个子区间然后递归处理。其实我们可以记录
阅读全文 »
发表于 2023-03-18 10:29阅读:109评论:0推荐:0
摘要:前言 位运算这东西其实我一直都是能避免就避免,但是前一段时间老师上课突然讲了一个位运算的用法,而今天刚好又在算法课上学到了位运算(算法课上没有深究,只是讲了两个用法),所以我想着干脆直接借着这次机会把这方面搞得全面一点一劳永逸得了,所以我查了大量的资料,也大概总结出来了一些知识。 这篇属于是番外篇了
阅读全文 »
发表于 2023-03-18 10:29阅读:37评论:0推荐:0
摘要:前言 离散化我感觉基本思路就是找有效信息然后映射,有那么一点点稀疏数组的感觉,实际上y总当时也说离散化的使用场景是针对于比较稀疏的数组使用 其实思路不是很难,但是实现起来还是有一定难度的,课后练习题的代码长度也是目前最长的吧好像 正文 大致介绍 离散化通常是针对于那些值域很大,比如1e9;但是有效数
阅读全文 »
发表于 2023-03-18 10:28阅读:40评论:0推荐:0
摘要:前言 双指针算法其实在前面已经用过很多次了,需要注意的是,这里的“双指针”并不是说用两个指针,而是使用“指针”这个抽象的思想,比如用一个变量也可以作为指针。 指针最常见的作用就是将一个需要嵌套循环的代码(时间复杂度为O(n^2))变成一个单循环的代码(时间复杂度是x*n,即O(n))。我们本来是两个
阅读全文 »
发表于 2023-03-04 18:53阅读:85评论:0推荐:0
摘要:前言 学习差分前一定要先学习前缀和,因为差分就是前缀和的一个逆运算(有点像微分和积分),所以只有先搞清楚前缀和才能明白差分 点这里补习前缀和 这里同样也是从一维和二维两个角度去分析差分这个算法 正文 我们要先理清差分的含义:注意关系,这里跟前缀和里举的例子有差别,b的前缀和数组是a(为了便于理解)
阅读全文 »
发表于 2023-03-04 16:18阅读:46评论:0推荐:0
摘要:前言 先看高精度加法的文章,如果没有看,我把高精度加法文章中的总结前言放到这里 该文章探讨的高精度代指C++中极大整数的计算,不是浮点数(y总说那个少见,不讲)。 这个问题只在C++中存在,Java有大整数类来解决,python本身特性就已经解决了。 高精度整数分为四种类型:A+B,A-B,A*a(
阅读全文 »
发表于 2023-03-04 16:18阅读:414评论:0推荐:0
摘要:前言 先看高精度加法的文章,如果没有看,我把高精度加法文章中的总结前言放到这里 该文章探讨的高精度代指C++中极大整数的计算,不是浮点数(y总说那个少见,不讲)。 这个问题只在C++中存在,Java有大整数类来解决,python本身特性就已经解决了。 高精度整数分为四种类型:A+B,A-B,A*a(
阅读全文 »
发表于 2023-03-04 16:17阅读:49评论:0推荐:0
摘要:前言 该文章探讨的高精度代指C++中极大整数的计算,不是浮点数(y总说那个少见,不讲)。 这个问题只在C++中存在,Java有大整数类来解决,python本身特性就已经解决了。 高精度整数分为四种类型:A+B,A-B,A*a(一个大数乘一个小数),A / a(一个小数除一个大数)。这里面的大数(大写
阅读全文 »
发表于 2023-03-04 16:16阅读:35评论:0推荐:0
摘要:前言 前缀和其实不能说是一种算法,它也并不会单独出现题目中。应该说是一个比较简单,但是容易被人忽略的工具 正文 所谓前缀和,就是一个用来计算数组某个区间内所有数之和的一个工具 以一维来举例 假如我们有一个一维数组a,数组中从1到n存着一共n个数据(第0位不存数据,这个我们后面再解释)。 那么我们就创
阅读全文 »
发表于 2023-03-04 11:48阅读:38评论:0推荐:0
摘要:前言 该文章是我跟着AcWing上买的算法基础课写的笔记。 算法基础课的课程内容如下: 第一章:基础算法 1.1 排序 插入排序 void insert_sort() { for (int i = 1; i < n; i ++ ) { int x = a[i]; int j = i-1; while
阅读全文 »
发表于 2023-03-03 21:24阅读:186评论:0推荐:0
摘要:前言 先看高精度加法的文章,如果没有看,我把高精度加法文章中的总结前言放到这里 该文章探讨的高精度代指C++中极大整数的计算,不是浮点数(y总说那个少见,不讲)。 这个问题只在C++中存在,Java有大整数类来解决,python本身特性就已经解决了。 高精度整数分为四种类型:A+B,A-B,A*a(
阅读全文 »
发表于 2023-02-28 21:14阅读:29评论:0推荐:0
摘要:前言 直接先把整数二分看完看整数二分文章点这里 现在只需要补充几个特点(其实整数二分的博客的前言就介绍了一些)就可以了 由于浮点数二分没有向下取整的特性(不懂的话就去看整数二分前言),所以mid不需要分类讨论 浮点数由于是一个连续的过程,所以没有真正意义上的边界点相遇,他们两个只不过在无限接近。所以
阅读全文 »
发表于 2023-02-28 21:03阅读:27评论:0推荐:0
摘要:前言 如果第一次接触二分其实很难理解它的含义 我对二分的理解就是找到一个条件,能够保证所有数据对于这个条件要么是True要么是False。二分的作用是查找。 二分本质不是单调性,对于一个满足单调性(也就是有序)的数组,我们一定可以用二分来解决,但是这不代表着非单调的数组就不能使用二分。二分的本质是二
阅读全文 »
发表于 2023-02-26 10:20阅读:29评论:0推荐:0
摘要:前言 归并排序的思路其实和快速排序的很像,都有递归的过程。 但是区别是:快速排序是先处理好这一层,然后再进行传递,在传递到底后,其实排序就已经完成了。而归并排序是先直接一直传递到最底层,相当于先把区间细分好,然后在归的过程中处理数据。 所以我们说分治算法基本都是三步: 分成子问题 递归处理子问题 子
阅读全文 »
发表于 2023-02-25 15:28阅读:116评论:0推荐:0
摘要:前言 千万不要小看这个快速排序,虽然思路很简单,一听感觉代码就能写出来,但是其实里面的坑还是很多的。 同时,算法题对于时间的要求也十分苛刻,只能说这次给我带来了一点小小的算法震撼。 如果想深究的话,几乎每一行都能问出来几个问题,我也是看了好多题解,搜了好多资料才把基本会想出的疑问解决了 快速排序是一
阅读全文 »
发表于 2023-02-24 13:22阅读:74评论:0推荐:0
摘要:今天终于把vscode配置好了,这个玩意跟大爷一样难伺候。我也懒得写博客记录过程了,太麻烦了。而且我已经耽误太长时间在这里了,不想再经历一次了。我这里简单记录一下我遇到的所有问题。 配置环境变量的时候,网上大多是/bin结尾,然后我看别人博客有人说要用/bin/,也就是最后再加一个。我现在是多加了一
阅读全文 »
发表于 2023-02-20 23:10阅读:439评论:0推荐:0
摘要:前言 我们先看本次分析的源代码 不得不承认,在没有人指导的情况下,我感觉但从代码出发思路还是比较难以琢磨出来的。想要搞出来还是要从单一案例出发,研究其中的数学逻辑,多演草,尽可能去寻找数与数之间的关系。 正文 先从代码分析 该代码主要分为两个部分 第一部分用来找出一个小于输入值的最大8次方数 第二部
阅读全文 »
发表于 2023-02-13 22:30阅读:32评论:0推荐:0
摘要:前言 该文章是我跟着AcWing上买的算法基础课写的笔记。 算法基础课的课程内容如下: 第一章:基础算法 1.1 排序 插入排序 void insert_sort() { for (int i = 1; i < n; i ++ ) { int x = a[i]; int j = i-1; while
阅读全文 »
发表于 2023-02-09 18:10阅读:410评论:0推荐:0
摘要:今天本来正在写一个稀疏数组的代码,要写的内容很简单,创建一个11x11的数组,将其中两个位置分别赋值为1、2,其余位置为0。然后输出数组看一下是否赋值正确。 正常是很简单的事情,但是我想把赋值和输出都作为函数来调用,于是引出了这么一个问题: 将一维数组作为参数传递,正常写法 //函数: void f
阅读全文 »
发表于 2023-01-26 21:44阅读:427评论:0推荐:1
摘要:前排声明:markdown文档中所有的图片都是通过typora+PicGo上传到我自己的腾讯云储存空间中了,由于没有将文档发给别人的经验所以我不知道别人能不能成功查看到文档中的图片。如果图片查看不了,可以去我的博客园中看这次考试的文档:上交自瞄算法开源代码-装甲板识别功能分析 - Zaughter
阅读全文 »