自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Bochs调试器指令

Bochs调试器指令### 执行控制- **c**: 继续执行- **s**: 单步执行- **b**: 设置断点- **del**: 删除断点- **reset**: 重置仿真器- **quit/q**: 退出调试器

2023-08-13 22:23:51 473

原创 c++静态变量和静态函数

qweqweqeqweqweqweqweqweqwe

2023-04-07 23:07:09 171

原创 c++函数的默认参数

就是在定义函数的时候,给形参进行赋值,这样的话如果在调用函数的时候没有给这个参数进行传参,就会使用默认值。

2023-04-05 16:51:32 116

原创 内联函数的理解

用inline进行标记的函数,在编译的过程中,内敛函数会被之间粘贴到调用的地方。而不是像正常的函数一样进行跳转。

2023-04-05 16:36:37 94

原创 【无标题】

当偶数的时候1不成立,考虑其他的特殊值,基本就是0,1,2,3这几个数,n-2个2异或的结果是0,右边的式子大概率等于2,所以左边的式子应该凑出来2,左侧加一个1,一个3就完美符合。异或从二进制的角度去考虑特殊值,当n为偶数的时候,n个1异或的结果是1,等式成立。

2022-11-28 19:23:07 83

原创 acwing寒假每日一题 2019.拖拉机 双端队列广搜

1证明两段性:因为边权只有两种,所以一个点在更新dist的时候,最多有两种可能,就是+这两个边权其中之一,我们因为每次入队时只能入一个元素,所以当有n个元素的时候,一定是由n-1的元素入队而成的。且我们讲边权较小的进入队头,边权较大的进入队尾。保证了单调性和两端性,我们一直从队头取元素进行dist的更新,这样就实现了像dijkstra算法中小根堆取最小值的作用。可以把这个问题抽象为图,其中只有边权为0或者1的边,可以推广为任何只有两种边权,且边权相差为1的图。

2022-11-17 16:07:01 68

原创 acwing寒假每日一题2022 2041.干草堆 差分

因为初始时s是全为0的所以s就是自己的前缀和数组,无需在进行初始化。就是简单的前缀和的区间加减。

2022-11-17 15:45:44 129

原创 acwing算法基础 dp 897.最长公共子序列

其中f[i][j-1]和f[i-1][j]与对应的(1,0)(0,1)其实是不等价的。f[i][j-1]代表a[i],b[j-1]之前的最长公共序列,不一定包含b[j]。f[i-1][j]同理。状态转移方程 :集合的划分 ,划分依据就是a[i]与b[j]在不在相同的子序列中,其中f[i-1][j-1]是包含在(1,0)(0,1)中的,所以可以去掉。状态表示:f[i][j] 表示a[i],b[j]之前的最长公共序列。初始化,数组初始化时都为0。

2022-11-15 21:56:00 275

原创 acwing算法基础 dp 896.最长上升子序列II

状态表示 : f[i]表示以i为结尾的上升子序列的最大值。在下标i之前的数组可能有多个长度的上升子序列,只需要记录其中相同长度子序列结尾的最小值,这样可以保证,i可以与前面的子序列构成最长的上升子序列。用二分查找到其中小于i的一项,然后更新i+1。同时定义一个lenth量,lenth每回有新增时,都要++;这个二分模板,虽然用起来很方便,但是但数组长度为0时,会存在边界问题,需要根据情况堆数组进行初始化。状态转移:用一个数组去记录不同长度子序列结尾的最小值,每次新增一个数据,都要先。

2022-11-15 20:51:03 137

原创 acwing算法基础 dp 895.最长上升子序列I

初始化 所有不需要通过迭代,直接就可以得到的量 ,以及边界值和状态数组和权重数组的初始化。状态转移方程 if(w[i]>w[j])f[i]=max(f[i],f[j]+1);状态表示 f[i] 表示以w[i]为结尾的上升子序列的最大长度。

2022-11-15 01:06:35 97

原创 acwing算法基础 dp 898 数字三角形

状态转移方程 :f[i][j]=max(f[i-1][j-1]+g[i][j],f[i-1][j]+g[i][j]);状态表达式 : f[i][j] 表示从(1,1)点走到(i,j)点的最小路径。初始化 :就是不用通过迭代直接可以知道的量或者边界问题的量。解释:下方的点只能由上方的两肩上的点得到,就等于这两点的f值+当前位置上的点。因为是三角形的堆,纵坐标改成斜向的更容易表示。把f的值初始全都设置为负无穷。

2022-11-15 00:30:55 155

原创 acwing算法基础 最短路问题

朴素dijkstra算法多用于稠密图,时间复杂是n^2。

2022-11-13 20:38:57 78

原创 acwing算法基础 最短路算法

为什么最后面会是dist[N]>0x3f3f3f3f/2;而不是dist[N]!=0x3f3f3f3f因为bellman-ford算法进行两重循环,存在dist点没有被更新而边被更新了的情况。

2022-11-13 20:33:22 79

原创 acwing算法基础 线性dp 902 最短编辑距离

现在请你求出,将 A 变为 B 至少需要进行多少次操作。3替换–将字符串 A 中的某个字符替换为另一个字符。2插入–在字符串 A 的某个位置插入某个字符。第一行包含整数 n,表示字符串 A 的长度。第三行包含整数 m,表示字符串 B 的长度。1删除–将字符串 A 中的某个字符删除。第二行包含一个长度为 n 的字符串 A。第四行包含一个长度为 m 的字符串 B。输出一个整数,表示最少操作次数。字符串中均只包含大小写字母。

2022-11-12 00:36:02 146

原创 acwing算法基础模板 二分 acwing789数的范围

【代码】acwing算法基础模板 二分 acwing789数的范围。

2022-11-12 00:06:55 93

原创 acwing算法基础模板 二分 acwing789数的范围

【代码】acwing算法基础模板 二分 acwing789数的范围。

2022-11-11 21:06:19 76

原创 刷题日记 洛谷1546 最短网络 最小生成树 kruskal算法

【代码】刷题日记 洛谷1546 最短网络 最小生成树 kruskal算法。

2022-11-06 12:58:17 119

原创 刷题日记 洛谷 P3370 字符串哈希

【代码】刷题日记 洛谷 P3370 字符串哈希。

2022-11-06 01:20:39 225

原创 刷题日记 洛谷3370 哈希字符串

【代码】刷题日记 洛谷3370 哈希字符串。

2022-11-05 19:55:59 66

原创 题目翻译 spoj2 prime number

【代码】题目翻译 spoj2 prime number。

2022-11-05 15:58:24 103

原创 刷题日记 洛谷P1451 细胞数量 floodfill算法

【代码】刷题日记 洛谷P1451 细胞数量 floodfill算法。

2022-11-04 13:39:50 136

原创 刷题日记 数字的反转 洛谷p1037

【代码】刷题日记 数字的反转 洛谷p1037。

2022-11-04 12:52:07 90

原创 刷题日记 进制的转换 十进制转化成其他进制短除法(递归实现) 其他进制转化成十进制(试除法)

【代码】刷题日记 进制的转换 十进制转化成其他进制短除法(递归实现) 其他进制转化成十进制(试除法)

2022-11-04 12:50:33 108

原创 刷题日记 acwing2060 母牛选美 floodfill填充算法

【代码】刷题日记 acwing2060 母牛选美 floodfill填充。

2022-11-04 11:24:31 58

原创 acwing算法基础 快速排序

快速排序的原理就是分治,时间复杂度的期望是n*logn,最坏的情况是n2,他是原址排序,取一个点作为中元点,在其左侧的数据都是小于中元点的,在其右侧是大于中元点的。2i和j是不同的,i,j是错过去的,i的点是第一个比中元点大的点,j是第一个比中元点小的点,而最后递归分支的部分要求左侧全是小的点,右面都是大的点,所以最后 递归时的分界i和j是不同的,最后i和j的状态的什么样的。

2022-11-02 20:27:27 38

原创 刷题日记 acwing 2058笨拙的手指 位运算的运用,迭代器的使用,秦九稍(别的进制转化为10进制)

【代码】刷题日记 acwing 2058笨拙的手指 位运算的运用,迭代器的使用,秦九稍(别的进制转化为10进制)

2022-11-01 17:39:04 53

原创 acwing 算法基础 图的存储方式 邻接表和邻接矩阵的优缺点辨析

213

2022-10-29 12:37:08 157

原创 acwing算法基础 拓扑序

3思路,寻找入度为0的点,以入度为0的点为起点,让他入队,然后删除他的出度,也就是宽搜下一层的点的入度减一,如果入读为0就入队,反复循环。1拓扑序就是前面的节点指向后面的节点。2一个有向无环图一定存在拓扑序。

2022-10-28 16:19:45 47

原创 acwing算法基础 模拟队列

其中,empty 操作的查询结果为 YES 或 NO,query 操作的查询结果为一个整数,表示队头元素的值。接下来 M 行,每行包含一个操作命令,操作命令为 push x,pop,empty,query 中的一种。输出格式 对于每个 empty 和 query 操作都要输出一个查询结果,每个结果占一行。现在要对队列进行 M 个操作,其中的每个操作 3 和操作 4 都要输出相应的结果。查看队列是否为空 如果tt

2022-10-28 12:25:17 49

原创 acwing算法基础存储图的方式 邻接表

邻接表

2022-10-27 15:52:08 90

原创 acwing算法基础模板 前缀和差分

数据范围 1≤l≤r≤n, 1≤n,m≤100000, −1000≤数列中元素的值≤1000 输入样例: 5 3 2 1 3 6 4 1 2。数据范围 1≤n,m≤1000, 1≤q≤200000, 1≤x1≤x2≤n, 1≤y1≤y2≤m, −1000≤矩阵内元素的值≤1000。输入样例: 3 4 3 1 7 2 4 3 6 2 8 2 1 2 3 1 1 2 2 2 1 3 4 1 3 3 4 输出样例: 17。输入一个 n 行 m 列的整数矩阵,再输入 q 个询问,每个询问包含四个整数。

2022-10-25 23:32:00 63

原创 acwing算法基础 dfs与bfs

不撞南墙不回头,空间复杂度是n,不具有最短路效应,适合一些思路比较奇怪,对空间要求高的题目。从根节点开始向下一层一层的搜索,具有最短路的特点,适用于需要找最短路的题目。

2022-10-25 16:18:09 269

原创 刷题日记(5)P1003铺地毯

【代码】刷题日记(5)P1003铺地毯。

2022-10-24 21:22:29 37

原创 刷题日记(4)洛谷5750 上学迟到(向上取整的方法)

【代码】刷题日记(4)洛谷5750 上学迟到(向上取整的方法)

2022-10-24 19:57:47 53

原创 acwing算法基础 哈希表(拉链法)

准备过程,需要开辟的数据范围是大于题中所给的最大的数据范围的质数,尽可能的远离2的整次方,这样可以使发生冲突的概率最小。所以在使用哈希表前应该先去对应的质数。

2022-10-23 18:41:21 128

原创 acwing算法基础 单链表模板

为什么要定义head变量存头节点的下标,头节点的下标不一定是0,且只有知道头节点在哪才能知道后续的节点。所以在链表中查找某一个元素,需要从头结点开始进行遍历。idx是没进行一次插入节点的操作时进行++,加入的节点实际上是在数组的有意义的最后一位,在访问时,通过ne数组进行单链表顺序的访问。

2022-10-23 12:42:49 96

原创 acwing算法基础 小根堆排序模板

这几种操作都是通过两个函数去实现的。up down函数。

2022-10-22 19:58:51 59

原创 刷题日记(3)结构体排序

输出 对于每组数据输出若干行,每行输出被录取的学生按照成绩排序后的名字和 总分,用空格隔开。注:到达指的是大于等于,数据保证学生名字是只由小写字母和大写字母组 成的不同字符串,且至少有一位同学能被录取。在她想知道哪些同学能被录取,并根据她们的总分从大到小排序(若总分相同, 则按照名字的字典序从小到大排序)。过了几个月,考研成绩出来了,Rabbit 得到了班上所有 N 位同学的成绩,现。M,E,P,Z,分别表示该学生的数学成绩,英语成绩,政治成绩,专业课成绩。输入 输入数据第一行为 T,表示数据组数。

2022-10-22 15:17:19 39

原创 刷题日记(2)结构体排序以及pair排序

我们在“渊子数”的题目中已经了解了渊子是个什么样的人了,他在大一的时候参加过工商学院的“英语聚乐部”。这个节目有好多人参加,这不,成绩出来了,渊子当是很勇敢,自告奋勇接下了算出大家的总得分的任务。输入 测试数据包括多个实例。紧接着是选手的名字,名字的长度不超过30个字符。样例输入 10 10 10 10 10 10 9 xiaoyuanwang 0 0 0 0 0 0 0 beast 样例输出。当时有7个评委,每个评委都要给选手打分,现在要求去掉一个最高分和去掉一个最低分,再算出平均分。

2022-10-22 15:14:55 59

原创 刷题日记(1) 年月日,及字符串读入处理的技巧

输入 输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,输出 对于每组输入数据,输出一行,表示该日期是该年的第几天。样例输入 复制 1985/1/20 2006/3/12。问题描述 给定一个日期,输出这个日期是该年的第几天。,另外,可以向你确保所有的输入数据是合法的。具体参见sample input。样例输出 复制 20 71。

2022-10-21 17:49:26 121

空空如也

空空如也

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

TA关注的人

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