自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法数学基础

2:质数筛——求1-n中质数的个数可以使用预处理的方法,将1-n中所有的质数预先存到一个数组中。

2025-03-24 19:26:56 363

原创 DFS深度优先搜索

题目可以理解为在1到n这些数中可以重复的选一些数,使其和为n。这就要求我们做到前面已经用过的数字不再出现,因此我们需要一个state数组来去重并且在回溯时恢复现场。DFS是一种暴力的搜索,其核心思想是遍历所有方案,一条路走到黑再进行回溯。在n个数中选出k个数,并且不同顺序的算一种;相比例1的全排列问题,我们要去掉重复的数量。我们只需要判断数组前面的数是否小于后面的数,如果是,就输出。因此最后结果要除以n的全排列也就是n的阶乘。例1:按字典序输出1-n的全排列。跟例2一样,全排列带来了重复问题。

2025-03-14 19:14:39 343

原创 位运算11

先将n右移16位 得到0000 0000 0000 0000 0000 0000 0001 0100。再将n左移16位,得到0000 1110 1101 1000 0000 0000 0000 0000。此题用^来解答,不断的对数组中的每一个数进行^,偶数个的都变成0,奇数个的最后变成答案。求n的二进制表示中第k位是几:n>>k&1;位运算是一种基于二进制编码的运算,常见的位运算符号有>>,<<,&,|,^等等。<<:高位舍弃,低位补0;>>:高位补0,相当于÷2.^:不一样为1,一样为0。

2025-03-06 16:21:18 135

原创 前缀和与差分——一维与二维版

二维前缀和——求子矩阵的和:由坐标(x1,y1)——(x2,y2)一维前缀和是指数组一个区间内所有的和,通过数组和求和数组算出。二维差分——将子矩阵中所有的数都+c。一维差分(给数组的一段数整体+c)

2025-03-03 20:56:26 245

原创 高精度运算

由数据范围可知,n的阶乘一定会产生一个非常大的数,因此我们需要用到高精度算法。需要用到高精度加法与乘法的结合。高精度运算是一种大数的运算,在比赛中,常与阶乘等方法联系起来。这一知识灵活度相对差一些,重点在于记住模板并学会应用。将大数倒序存放进入vector数组中。4:A/a(其中a是小数)。

2025-02-21 18:28:19 197

原创 二分进阶版

已知l的结果范围时1~max(a[i]),假设存在一个临界点l,当当小于等于l时,可以满足分割为k个小段的条件,当大于l时,不满足该条件,满足我们之前所说的单调性。那么,我们该如何知道该用哪一种情况呢,其实,我们只需要写出check函数,然后看为true时是l=mid还是r=mid就好了。这是一道经典的找数问题,很显然C是固定的,那么,只需要找=A+C的数就可以。1:mid=l+r+1>>1,若check函数为true,l=mid,r=mid-1;若check函数为true,r=mid,l=mid+1;

2025-02-20 16:28:58 303

原创 高精度加法、乘法

【代码】高精度加法、乘法。

2024-05-26 21:01:00 344

原创 Dijkstra算法求1-n的最短路径

【代码】Dijkstra算法求1-n的最短路径。

2024-03-31 12:27:51 227

原创 单链表的增删改查、头插法

之前一直报错,应该是看多了伪码导致的(doge)妈妈我的单链表终于可以运行啦!

2024-03-12 19:50:27 394 2

原创 带空格字符串的输入

如果字符串用string输入的话,输入到空格时会自动停止,因此字符串中就不能包括空格,那么,如果要输入带空格的字符串要怎么办呢?

2024-03-11 20:15:42 964

原创 计算方法(二分法)

注意:log在计算机中只有2和10的函数,但如果是求以k为底的函数,就要用到换底公式。思路:从1到e9中二分找出合适的x,暴力搜索。floor:向下取整函数。

2024-03-07 17:48:26 401 1

原创 DFS取数

只需要对情况1进行一下去重操作,比如保证填的数要大于上一个填的数,使数组按字典序排列,(当r==n时,即为n个数的全排列);1:从n个数中取r个数,并区分顺序。2:组合问题,只取数,不考虑顺序;

2024-02-29 19:37:26 543

原创 c++快速输入输出

我们在用C++写程序时,如果测试组数有多个,可能会因为输入输出而TLE,因此引入快速读入。

2024-01-20 12:16:59 578

原创 进制转换QAQ

十进制向任意进制转换(考虑A——F的情况)s是任意进制下的数,n是原来的进制。PS:a是一个vector啦~~

2023-11-25 16:08:39 368

原创 树的存储第二弹

二:已知二叉树的左右子节点,用结构体数组存树并求深度。一:已知1-n个点的父亲节点,用vector链表存。三:树的三种遍历方式,以及如何通过两种求另外一种。

2023-11-14 19:25:59 54 1

原创 树的存储与遍历

【代码】树的存储与遍历。

2023-11-09 18:04:24 64 1

原创 图的存储(邻接矩阵与邻接表)

无向图的存储需要赋两遍值。

2023-11-09 15:18:37 110 1

原创 斐波那契数列(递归调用)

【代码】斐波那契数列(递归调用)

2023-11-07 17:49:05 64

原创 前缀和and差分

前缀和:求矩阵和(二维前缀和)。

2023-11-07 15:26:39 49

原创 topu排序

【代码】topu排序。

2023-11-06 20:10:21 78 1

原创 求乘法逆元的方法

当a为1-n时,用线性求逆元,不然会TLE QAQ。1:普通方法:扩展欧几里得。

2023-11-05 16:10:59 64

原创 扩展欧几里得求不定方程的解

【代码】扩展欧几里得求不定方程的解。

2023-11-05 15:15:55 42

原创 BFS多次答案求最小步数

2:多次测试定义队列要在bfs里面。3:求步数的最小值直接bfs就可以。1:dx,dy方向数组如何写。

2023-11-05 13:52:51 59

原创 BFS与DFS2.0版

照着板子写还蛮有成就感的QAQ。

2023-11-04 15:24:11 79 2

原创 树求每个节点的子树和

【代码】树求每个节点的子树和。

2023-11-02 20:24:23 89

原创 扩展欧几里得算法

【代码】扩展欧几里得算法。

2023-11-01 18:28:44 71 1

原创 二分答案QAQ

【代码】二分搜索QAQ。

2023-10-31 19:35:33 45 1

原创 二分搜索QAQ

【代码】二分搜索QAQ。

2023-10-30 20:11:29 47 1

原创 内调函数read(快读函数)

相当于输入一个数字的代码,将数字输入到m中,比如输入区间的起点和终点。

2023-10-29 19:26:03 93 1

原创 DFS与BFS

2:高中排列组合题,如全排列,取部分数全排列,取数后加和。例题1:Red and Black(BFS)1:队列搜寻类型(迷宫问题)

2023-10-29 14:22:15 84 1

原创 欧几米德求最大公约数

【代码】欧几米德求最大公约数。

2023-10-26 23:13:10 97 1

原创 快速幂c++

给你三个整数 a,b,p,求 a^bmodp。

2023-10-26 22:52:03 92 2

原创 c++版判断素数

【代码】c++版判断素数。

2023-10-26 20:58:27 224 1

空空如也

空空如也

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

TA关注的人

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