指尖 算法 精灵 笔记
C语言笔记 - “%”符号的用法
# C语言笔记 - “%”符号的用法 ### 1、% - 运算符 %表示取模运算,也就是取余数。 例如 6 % 4 = 2 ### 2、% - 引导符/占位符 引导符用于控制输入输出的格式。常见于printf("%d",a);scanf("%d",&a);语句。 1) %s - 字符串 (Strin ......
【学习笔记】网络流各种形式及模型
# 各种形式 ## 普通网络流 - [P3376 【模板】网络最大流](https://www.luogu.com.cn/problem/P3376) Dinic ```cpp #include using namespace std; int n,tot=1,first[210],nnext[10 ......
代码随想录算法训练营第二十一天| 530.二叉搜索树的最小绝对差 501.二叉搜索树中的众数 236. 二叉树的最近公共祖先
530.二叉搜索树的最小绝对差 卡哥建议:需要领悟一下二叉树遍历上双指针操作,优先掌握递归 题目链接/文章讲解:https://programmercarl.com/0530.%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E6%9C%8 ......
学习笔记412—词向量【Word2Vec】
Word2Vec Word2Vec 是 google 在2013年提出的词向量模型,通过 Word2Vec 可以用数值向量表示单词,且在向量空间中可以很好地衡量两个单词的相似性。 简述 我们知道,在使用神经网络处理数据的时候,神经网络只能处理数字向量或者矩阵,他不可能理解文本、图像本身。那么,图像是 ......
学习笔记411—【词向量基础】:one-hot
【词向量基础】:one-hot 词向量(word vector),也叫词嵌入(word embedding),是一种词表征形式,将词从符号形式映射为向量形式,渐渐演变成了一种知识表示的方法。将词语从符号表示形式转换为了向量表示形式,方便了机器对自然语言的计算,因此,词向量几乎成为了所有自然语言处理和 ......
二分图笔记
## 二分图定义 二分图是一张无向图,可以分成 $2$ 个集合 $A$ 和 $B$。在同一个集合中的点没有边相连。 ## 二分图判定 当且仅当图中不存在奇数环时,该图为二分图。 证明:反证法,构造一个奇数环。容易发现无论如何都不可能使相邻 $2$ 点分到 $2$ 个集合。 那么很容易想到一个判定二分 ......
[代码随想录]Day23-回溯算法part03
## 题目:[39. 组合总和](https://leetcode.cn/problems/combination-sum/description/ "39. 组合总和") ### 思路: 一样的递归套路: 1. 函数参数:因为要求和,所以有一个当前和的参数;另外因为**要保证没有重复的结果**,所 ......
KMP笔记
KMP算法,是一种能在 $O(n+m)$ 的时间内求出模式串 $A$(长度为 $m$)在文本串 $B$(长度为 $n$) 中出现的次数及位置的字符串匹配算法。 KMP算法共分为 $2$ 步: 第 $1$ 步,对 $A$ 串进行自我匹配,求出 $nxt$ 数组,$nxt[i]=max\{j\}$,其中 ......
概率与数学期望笔记
### 概率论 样本点:一个随机试验的某种可能的结果。 样本空间 $Ω$:所有可能结果构成的集合 随机事件 $A$:在一个给定的样本空间中,样本空间的子集,即由多个样本点构成的集合。 随机变量 $P(A)$:把样本点映射为实数的函数,分为离散型、连续型。离散型随机变量的取值为有限或实数。 我们称 $ ......
树上DP笔记
树是一个由 $n$ 个节点,$n-1$ 条边组成的联通图,图上没有环,其每一条边都是割边。 在树上设计动态规划算法时,一般以节点**从深到浅**的顺序作为 DP 的阶段。大多数时候,采用递归的方式实现树形动态规划。 对于每一个节点 $x$,先对它的每一个子节点进行 DP,回溯时从子节点向 $x$ 进 ......
线段树笔记
线段树是用于在区间上进行信息统计的二叉树。 ## 线段树的性质 1. 每个节点都代表一个区间。 1. 有唯一的根节点,代表整体区间 1. 每个夜间点代表长度为 $1$ 的单位区间 1. 出叶节点和根节点之外的内部节点 $[l,r]$,取 $mid=\lfloor\frac{1+r}{2}\rfloo ......
[刷题笔记] Luogu P9562 [SDCPC2023] Matching
[Problem](https://www.luogu.com.cn/problem/P9562) ### Analysis 不妨先忽略图论,考虑在一条链上选多组点使得每一组点 $i,j$ 均满足 $i-j=a_i-a_j$ 。由于没有规定我们选多少组,因此 $a_i+a_j > 0$ 均对答案产生 ......
黑马前端8.5(笔记分享)
黑马前端8.5包含移动web,js基础,webapi,js高级,ajax全部,vue基础,vue项目,node,react,小程序,人资视频,在线问诊,以及一些笔记课件资料。 ......
8.21集训笔记
## 上午 - [P1789 【Mc生存】插火把](https://www.luogu.com.cn/problem/P1789) 点击查看代码 ``` #include using namespace std; const int N=110; bool a[N][N]; int n,m,k,x, ......
代码随想录算法训练营第二十天| 654.最大二叉树 617.合并二叉树 700.二叉搜索树中的搜索 98.验证二叉搜索树
654.最大二叉树 卡哥建议:又是构造二叉树,昨天大家刚刚做完 中序后序确定二叉树,今天做这个 应该会容易一些, 先看视频,好好体会一下 为什么构造二叉树都是 前序遍历 题目链接/文章讲解:https://programmercarl.com/0654.%E6%9C%80%E5%A4%A7%E4%B ......
排序算法
1. 常用排序 1.1 归并排序 1.2 快速排序 快速排序优化 1.3 堆排序 2. 低级排序 2.1 冒泡排序 2.2 直接插入排序 2.3 希尔排序 3. 基于比较的排序算法时间复杂度下限证明 4. 排序算法会出现不稳定的状态原因 5. 非比较排序 5.1 计数排序 5.2 桶排序 5.3 基 ......
javascript学习笔记day4
今天重点学习了数组,老实说学过了c#和python的数组,但是今天重新接触js的数字还是有很多要重新学习的,下面是今天的笔记 查询条件五个以上时,switch的效果比if lese高两倍以上.let arr=[] 声明数组let arr=new Array(1,2,3,4) 声明数组修改数组 let ......
扁扁笨算法-AVL树的插入与删除
# 扁扁笨算法-AVL树的插入与删除 ## 扁扁笨简述 扁扁笨算法是将不平衡子树打成一条中序遍历的直链(实质是一条升序链),然后按照寻找中点并提起中点构造二叉树的一种朴素做法。扁扁笨算法是一种确定平衡树调整结构之后填入数字的辅助手段,本身并没有什么出彩的地方。 ## 理论简介 AVL树插入之后一般会 ......
扁扁笨算法-B树的插入与删除
# 扁扁笨算法-B树的插入与删除 ## 扁扁笨简述 扁扁笨算法是将不平衡子树打成一条中序遍历的直链(实质是一条升序链),然后按照寻找中点并提起中点构造二叉树的一种朴素做法。扁扁笨算法是一种确定平衡树调整结构之后填入数字的辅助手段,本身并没有什么出彩的地方。 ## 理论简介 B树是一种强结构弱数据的数 ......
【图论#02】岛屿数量,flood fill算法的代码实现与优化
### 岛屿数量 给你一个由 `'1'`(陆地)和 `'0'`(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 **示例 1:** ``` 输入:grid = [ ["1" ......
Markdown学习笔记
Markdown学习 标题 两个井号加空格 三级标题 四级标题 字体 Hello,World! 左右一颗* Hello,World! 左右两颗* Hello,World!左右三颗* Hello,World!左右来两个~ 引用 狂神说 单箭头 分割线 图片 感叹号+方括号内放图片的命名+圆括号放图片的 ......
使用MD5算法和sha512sum校验和检验文件完整性
[TOC] # 一.前言 在我们日常生活中,无论是下载文件、传输数据还是备份重要信息,如何确保数据的完整性始终是一个不能忽视的问题。本文将向大家介绍如何使用MD5算法和sha512sum校验和来进行文件完整性的验证。 # 二.MD5算法简介 MD5算法,全称Message-Digest Algori ......
c++算法之哈希表
啥是哈希表 哈希表,类似散列表,是一种存储数据的一种方式。只能说是有点奇葩。 他是通过将值转换成数组的下标,也就是f[x]=x的意思,大家估计都能理解吧😃。 所以他可以通过这样的方式存储后遍历数组就可以发现他家可以自动排序,而且只需O(n)时间复杂度。 但是所需要的空间式数据中的最大值。 输入数据 ......
SpringSecurity实战笔记之OAuth
Spring Social OAuth 一、app、小程序、前后端分离为什么使用OAuth协议 1、原有方法开发繁琐、安全性和客户体验差、有些前端技术不支持cookei,如小程序 2、好处:token自动生成,自定义校验,方便安全 二、Spring Security OAuth简介 1、服务提供商( ......
树状数组笔记
树状数组是算法竞赛中常见的高级数据结构,是利用数的二进制特征进行检索的树状数据结构。常用于求解动态变化的区间问题。具有结构清晰,操作方便,应用灵活,效率高的特点。 ### 单点修改+区间查询 这是树状数组最基础的应用,设 $BIT[i]$ 表示 $[i-lowbit(i)+1,i]$ 区间内的数字和 ......
Manacher笔记
Manacher 算法应用于一种特定的场景:查找一个长度为 $n$ 的字符串 $S$ 的最长回文子串,Manacher 的复杂度为 $O(n)$,是这种场景中效率最高的算法。 首先对字符串 $S$ 做一个变换来化简问题,原字符串的 “中心字符” 可能有一个或者两个。在 $S$ 的每个字符左右各插入一 ......
linux命令练习笔记
目录关于网络配置 1关于Linux命令的记录 1Chmod 1关于网络配置首先,是配置网络使用命令vi /etc/sysconfig/network-scripts/ifcfg-ens33此命令为打开配置网络的文件有以下几处改动然后再最后位置添加以下内容其中GATEWAY后的地址为固定项目IPADD ......
数据结构与算法八股
讲一讲插入排序 讲一讲冒泡排序 讲一讲快速排序 讲一讲堆排序 讲一讲归并排序 dp dp数组的定义及含义:dp[num1.length+1][num2.length+1],为什么要+1呢,因为我们要判断他与前面的关系涉及到i-1,所以遍历需要从1开始 return的是什么 如果初始化时候size+1 ......
FlashAttention算法详解
这篇文章的目的是详细的解释Flash Attention,为什么要解释FlashAttention呢?因为FlashAttention 是一种重新排序注意力计算的算法,它无需任何近似即可加速注意力计算并减少内存占用。所以作为目前LLM的模型加速它是一个非常好的解决方案,本文介绍经典的V1版本,最新的 ......