
学习进度
文章平均质量分 71
123
涅槃豆
咚咚咚
展开
-
洛谷P1786 帮贡排序
小模拟原创 2023-03-18 16:51:17 · 126 阅读 · 0 评论 -
【蓝桥杯经典数学题】杨辉三角形
研究一天了,快给我看原创 2023-03-06 16:13:18 · 2378 阅读 · 1 评论 -
dfs与bfs
从使用空间看,dfs只需记录这条路径的所有点,空间复杂度为O(h),bfs记录每层的节点,空间复杂度为O(z ^ h),该特点使bfs有了一个最短路的概念。按照字典序输出自然数 1 到 n 所有不重复的排列,即 n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。每个解决方案占 n 行,每行输出一个长度为 n 的字符串,用来表示完整的棋盘状态。从使用的数据结构来看,dfs使用的是栈,bfs使用的是队列。由 1 - n组成的所有不重复的数字序列,每行一个序列。每个方案输出完成后,输出一个空行。原创 2023-02-06 14:35:45 · 929 阅读 · 0 评论 -
为蓝桥杯而来-STL
STL的东西真多原创 2023-01-29 22:23:15 · 130 阅读 · 0 评论 -
为蓝桥杯而来-哈希表
感觉是目前算法里最简单的一个了原创 2023-01-28 22:27:06 · 105 阅读 · 0 评论 -
为来蓝桥杯打算法-堆
二叉树,且是完全二叉树(即除了最后一层的节点,其他层的节点的分支都有两个,最后一层的节点从左到右排列)x下面的左节点就存储在q[2 * x],右节点就存储在q[2 * x + 1]用heap存储每一个节点,size作为元素量也是下标。因此可以得出一个规律,从根节点开始,节点设为x。最后我们可以知道一开始那些操作是如何实现的。用一维数组存储所有的节点。与down操作如出一辙。原创 2023-01-27 18:11:44 · 98 阅读 · 0 评论 -
为蓝桥杯而来——数据结构并查集
怎么感觉数据结构的题目都不太好选择对应的算法原创 2023-01-19 22:34:55 · 181 阅读 · 2 评论 -
数据结构:字典树Trie
trie树的题都很怪,你很难看出来他需要用tire算法做出来原创 2023-01-18 23:54:22 · 120 阅读 · 0 评论 -
KMP算法
暴力法对字符串匹配:设i作为K的下标,j作为p的下标,当K[i]与 P[0]相等时,开始匹配下个字符,否则让i++,如果连续匹配到很多个字符,但突然有一个不匹配,那么i与j都会回溯,比如K[i]和P[0]相等了,一直匹配到K[i + random],P[j + random]时匹配失败,那么i,与j都会回溯,K的下标i + random回溯到i++,j + random回溯到j = 0。s[0] == p[0],s[1] == p[1], 但是s[2]!以及求得next数组代码。例题代码(yxc做法)原创 2023-01-16 17:24:19 · 107 阅读 · 0 评论 -
算法基础-数据结构:栈和队列
先进后出,和一个半封闭容器类似,放了一堆肉饼,先放的肉饼后倒出来。诀窍:在while循环判断条件时,只要想该数不符合条件则跳过即可。先进先出,和枪上膛相似,先插进去的子弹先打出来。q[N]表示队列,hh表示对头,tt表示队尾。stk[n]数组代表栈,tt代表栈点。原创 2023-01-13 19:39:38 · 97 阅读 · 0 评论 -
算法基础-数据结构:链表
链表刚开始比较难以理解,但如果明白了就很好用原创 2023-01-12 19:32:11 · 110 阅读 · 1 评论 -
算法基础总笔记(建议收藏,持续更新)
对目前所学算法的全部总结原创 2022-12-29 22:11:42 · 521 阅读 · 2 评论 -
算法基础:区间合并
挺冷门一个知识点原创 2022-12-28 21:18:26 · 553 阅读 · 0 评论 -
算法基础:离散化
对一组序列进行升序排列,然后用0映射,代表序列的最小数,1映射第二小的数,以此类推,与利用数组存储相似。如果序列中有重复元素,应当先去重删除重复元素再排序映射。原创 2022-12-27 23:54:10 · 138 阅读 · 0 评论 -
算法基础:位运算
位运算主要关注于其数内部的过程原创 2022-12-26 22:43:43 · 149 阅读 · 0 评论 -
算法基础:双指针算法
双指针算法用于优化两个for循环的暴力做法原创 2022-12-26 21:33:24 · 125 阅读 · 3 评论 -
c语言基础难关:按位取反
详细阐述如何取反的流程原创 2022-12-23 20:17:47 · 2482 阅读 · 4 评论 -
算法基础:差分
则使存储前缀和的二维数组某一坐标的右下角全部改变,并使多余部分减掉,由于需改变矩阵的右下角的矩阵被减掉两次,还需要使其重新加回来,成为原本的前缀和,从而得到一个存储前缀和的矩阵中特定的小矩阵发生改变。 有一数组a,b,使得 ai = b1 + b2 + b3 + … 本质上是改变边界的值,使得中间连续值得以被间接改变。 假设要改变存储前缀和的二维数组中特定矩阵发生改变。 b就称为a的差分,a就称为b的前缀和。 与一维差分相同,也是前缀和的逆运算。 使某一区域的前缀和被同步改变,原创 2022-12-22 20:59:39 · 145 阅读 · 0 评论 -
算法基础:前缀和
若要求区间[l,r]之间的前缀和,则只需将r的前缀和减去l - 1的前缀和即可。 则si = a1 + a2 + … 思想:假设有原数组a1,a2,a3… 时间复杂度为O(1);原创 2022-12-20 16:48:44 · 120 阅读 · 0 评论 -
算法基础:轻松搞懂高精度(原理+可套用模板)
通过将大数每一位的值与B相乘,并且每次运算只把算得的个位传给C,下一次将上次除去个位的数加上这一次相乘的值,最后将留下来的未能放进C的数再放进C中,得到最终的相乘数。然后通过将余数r*10+下一位的数,得到12,12/11得到余数1,以此类推,最后得到的就是两数之商,同时也可得到最终的余数。 思想:用一个数组逆存储一个整数的值,数组下标为0的值存储个位,为1存在十位,以此类推;用int 存储一个较小数。 思想:用一个数组逆存储一个整数的值,数组下标为0的值存储个位,为1存在十位,以此类推;原创 2022-12-19 22:01:10 · 163 阅读 · 0 评论 -
c笔记续.
isspace 空白字符:空格’ ‘,换页’\f’,换行’\n’,回车‘\r’,制表符’t’或者垂直制表符’\v’ 1.4 传入的str不为空指针NULL,strtok将找到str的第一个标记,并保存他在字符串中的位置。 1.6 如果传入的str中有sep函数中两个至多个字符连续存在的情况,也会分隔,而不是空出一个位置。 1.5 传入的str为空指针NULL,函数将在同一个字符串中被保存的位置开始,查找下一个标记。 1.3 如果找到特定字符,会直接将原字符数组的该位置字符改为 ‘/0’原创 2022-12-17 23:32:22 · 117 阅读 · 0 评论 -
c++初期笔记(超详细超完整)
(1) 说明:从字符串流中提取我们需要的信息,可以是各种类型的变量,和cin等价(2) 格式 ssin>>a>>b>>strint main(){string s;int a, b;double C;return 0;}(3) 库函数 sstream{Person(int_ age, int_ height, double_ _money) // 构造函数{}};} 特殊的赋值方式};原创 2022-12-17 23:28:17 · 2312 阅读 · 2 评论