avatar
Articles
94
Tags
53
Categories
34

Home
Archives
Tags
Categories
Link
About
Blogs
Home
Archives
Tags
Categories
Link
About

Blogs

红黑树学习笔记
Created2023-10-13|数据结构树
Definition 节点是红色或者黑色 根节点是红色 叶子节点是黑色 红色节点不能有红色子节点 从任一节点到其每个叶子的所有简单路径都包含相同数目的黑色节点(简称黑高) ARB and RBARB(Almost red-black tree) 和红黑树的区别就是根节点是红色 Black heightThe black height of any or is well defined. which is the number of black nodes. 和B树的关系可以把同一层(两个红色节点链接在一个黑色节点后面记为一层)的红色节点和黑色节点放到一起,相当于就是一个2-4 B树 修复的基本操作红黑树的修复是通过变色、左旋和右旋三种操作组合而成的,关于旋转的操作详见[[Bachelor/DataStructure/AVL#AVL树基本结构]] 插入流程插入的概略过程: 先插入一个结点 将插入的结点标记为红色(Black height constraint仍然成立) 在保证Black height constraint的情况下,调整颜色和结构,使得Color constrain ...
let's encrypt申请证书命令
Created2023-10-09|教程
申请范域名证书命令使用certbot可以免费申请范域名证书。使用试输入下面的命令,注意替换命令为自己的域名。 1sudo certbot certonly -d "*.example.com" -d example.com -m YOUR_EMAIL --manual --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory 申请单域名证书命令也可以申请单域名证书,命令如下 1sudo certbot certonly --manual -m YOUR_EMAIL -d example.com --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory Nginx的配置使用certbot申请的证书会保存在/etc/letsencrypt/live/example.com/下面,注意这里的是一个软连接,指向真正的证书 下面给出一个监听8080 ...
如何在本地搭建VSCode环境编写c++代码
Created2023-10-09|教程
文件结构在一个cpp项目中,文件结构如下: 12345678*|-- .vscode/| |-- setting.json| |-- launch.json| |-- tasks.json|-- bin/ |-- CMakeLists.txt|-- main.cpp 你需要修改的配置都在 .vscode/ 目录下面,在那里面修改对应配置 这里创建了一个 bin/ 目录用于存放临时生成的可执行文件 记得要先创建文件夹 tasks.json 内容示例tasks.json 用于指明编译、运行的配置,同样记得修改command为你自己的路径,并且把mingw的bin目录添加到path。并且记得在你的项目文件夹下面把 bin/ 目录创建好 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566{ "version": "2.0.0" ...
如何把hexo搭建的博客发布到自己的云服务器,包含部署https
Created2023-10-07|教程hexo
本文将介绍如何把自己搭建的hexo发布到云服务器上 购买云服务器、域名以及ICP备案想要部署hexo博客,有一台具有公网ip的云服务器是必须的。 如果想要别人能够方便的访问你的博客,还需要申请一个域名。 如果你希望你的博客能够在大陆地区被正常访问,那么还需要进行ICP备案。 以上三者作为前置条件,本文不做赘述,请自行上网搜索相关教程。 在云服务器上配置好ssh公钥登录在你希望使用的账户的~目录下的.ssh文件夹中,创建authorized_keys文件,将你的公钥复制进去。注意公钥是一行一个。然后把这个文件的权限改为600。 1chmod 600 authorized_keys 这样就可以进行ssh公钥登录了。 可以尝试使用ssh命令登录一下,如果没叫你输密码,那么就可以进行下一步了。 安装Nginx和gitubuntu和debian系列执行 1sudo apt install nginx git centos系列执行 12sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos- ...
非递归无栈AVL树实现
Created2023-10-06|数据结构树
AVL树基本结构AVL树是通过 balance factor 平衡因子来控制树的高度不会失衡的,每个节点的 balance factor 定义为右子树的高度减去左子树的高度,如果是平衡的,那么 balance factor 的绝对值不会超过1,如果超过了1,那么就需要进行旋转操作来保持平衡。 在维护AVL树的时候,基本操作只有 左旋 he 右旋 两种,其示意图如下:不难发现,左旋和右旋都有保证树的高度不变的性质。 其中左旋的代码如下: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152void AVL::roteLeft(Node *A, Node *C) {#ifdef DEBUG cout << "Rote left \n";#endif if (A == this->root) { //处理A是根节点的情况 Node *B = A->leftChild; Node ...
数据的表示
Created2023-10-02|ICS
字,字节,单字,双字一个 bit 是1个二进制位,一个 byte (字节)是八个二进制位,也就是两个十六进制数,例如一个全是1的字节可以表示为 0xFF 一个字在32位的机器上是两个个字节,即十六位,而双字是四个字节,三十二位 小端方式和大端方式小端方式是低有效字节存放在低地址,高有效字节存放在高地址,大段方式相反。 注意,在机器码反汇编的时候,从左到右依次是低地址到高地址,不用反过来,而且在每一个字节,即两个十六进制数表示一个数的时候,也不用在字节内进行翻转,例如,在一个小端机器的反汇编中,一个数是 b8 01 00 00它对应的数学真值是 0x01B8 即是十进制下的 440 整形无符号数无符号数直接按照二进制表示,没有歧义,其每一位都是有效位,乘以对应的权值即可转换成对应的数学真值 有符号数有符号数一般按照补码表示,其特征是最高位为符号位,如果是 0 表示是一个正数,否则为负数 在将一个正数转换为无符号数的时候,如果不超出范围,没有发生溢出的现象,此时的有符号数的机器表示和无符号数是一样的。 将一个负数转换为无符号数的时候,先取出它的绝对值,将其转换为机器码,然后实行操作 各位 ...
并查集
Created2023-09-28|Algorithm
并查集简介并查集是为了解决图联通的问题而发明的算法,它可以实现$O(1)$时间复杂度的插入和平均$O(log(n))$时间的查询,从而快速处理判断两个元素是否属于同一个部分 并查集支持的操作 寻找根节点(find) 判断任意两个节点是否联通(is_connected) 将两个节点合并(join) 返回一个节点的联通个数(count) 并查集的实现find无路径压缩版本1234567int find(int x) { if(parent[x] == x) { return x; } else { return find(parent[x]); }} 有路径压缩版本123456789int find(int x) { if(parent[x] == x) { return x; } else { int p = find(parent[x]); parent[x] = p; ...
数学分析总结
Created2023-09-28|Math
积分总结常用且记不到的公式 定积分的常用技巧保向性若可积,且,则保向性被用于证明积分相关的不等式,如教材P186的A组第14题 微分中值定理描述若在上连续,定号(不变号),则使得该定理常用于证明存在某些特殊点使得某个等式成立,如教材P186B组第3题 证明首先我们通过达布上和和达布下和,得到式子2.2.1是由于我们在每个区间里面分别选取最小值和最大值,这是上界和下界。再由的连续性,由介值定理,得到 特殊不等式证明柯西不等式的积分形式设在区间上连续,有 证明对任意,,所以对于方程没有两个根,使用判别式,有整理可得 牛顿-莱布尼茨公式描述 证明使用差分和拉格朗日中值定理的技巧,详情见教材P187 微积分第一基本定理(可变上限的积分)描述设 证明连续函数版本$$\begin{split}\varPhi’(x_0) &=\lim_{t \to 0} \frac{\varPhi(x_0 +t) - \varPhi(x_0)}{t}\&= \lim_{t \to 0} \frac{\int {a}^{x_0 + t}f(x)\mathrm{d}x - \int {a}^{x_ ...
部署frp服务器发布内网服务并获取免费ssl证书
Created2023-09-28|教程server
部署frp服务器发布内网服务并获取免费ssl证书本文适用对象 不想花冤枉钱搭建一个自己的服务器 能够在本地搭建好服务并且能够通过 localhost 访问 有一台可以访问互联网的服务器 (例如腾讯云、阿里云)(如果没有建议花点小钱买一个) 有一个自己的域名(必需品,可以在各种云上买到,记得备案哦) 云端搭建frps服务基础配置这里建议云服务器安装linux系统,操作更简单 到frp github发布页找到对应的架构,右键复制链接地址 在云服务器上执行(这里以amd64为例) 1wget https://github.com/fatedier/frp/releases/download/v0.51.3/frp_0.51.3_linux_amd64.tar.gz 下载完成后解压 1tar -zxvf frp_0.51.3_linux_amd64.tar.gz 然后进入解压后的文件夹,修改配置文件 frps.ini ,在里面输入一下内容: 12345678910111213141516[common]bind_port = 7000vhost_http_port = 80vhost_h ...
如何进行gitlab-ci发布软件包
Created2023-09-28|教程server
如何使用Gitlab CI发布软件包前言本文参考官网,给出一个在powershell下能够发布软件包的例子以及一些坑,供大家参考。 Step 1. 安装release-cli123New-Item -Path 'C:\GitLab\Release-CLI\bin' -ItemType DirectoryInvoke-WebRequest -Uri "https://gitlab.com/api/v4/projects/gitlab-org%2Frelease-cli/packages/generic/release-cli/latest/release-cli-windows-amd64.exe" -OutFile "C:\GitLab\Release-CLI\bin\release-cli.exe"$env:PATH += ";C:\GitLab\Release-CLI\bin" 坑点1:以上是官方的配置方法,由于某些原因,最后一步添加环境变量的方法在你重新打开一个powershell或者在gitlab ...
1…8910
avatar
Eric Li
Articles
94
Tags
53
Categories
34
Follow Me
Announcement
The blog is now under construction
Recent Post
ecole环境安装指南2025-10-27
No title2025-10-26
Python Package Managers2025-10-26
Hydra | python参数配置包2025-06-05
arXiv:1704.01665v4 | Learning Combinatorial Optimization Algorithms over Graphs | NCO论文阅读2025-05-23
Categories
  • AI1
  • Algorithm2
  • Article_Reading1
    • reinforcement_learning1
  • CV1
  • Cryptology5
  • DB3
  • Diffusion1
Tags
InformationTheory notes gitlab-ci server RBT B树 cmake RegularExpression Probability_Theory tools Hydra config DB termux ssl RL Math frp Diffusion git Others co Article OS UV VSCode Cryptology IRL Optimization Network Transformer m路搜索树 Algorithm MySQL CV cpp SQL fla certbot latex
Archives
  • October 20253
  • June 20251
  • May 20251
  • March 20252
  • January 20253
  • December 20245
  • November 20249
  • October 20248
Info
Article :
94
UV :
PV :
Last Push :
©2023 - 2025 By Eric Li
Framework Hexo|Theme Butterfly
蜀ICP备2023025661号-1