将自己域名绑定到GitHub个人博客中
解析域名到GitHub的ipv4地址
进入购买域名厂商的管理页面
解析ip地址
选择添加记录,可以选择使用@或者www,我这里使用的是二级域名
将自己的域名解析到对应的IP当中,因为腾讯云最多只能绑定两个ip地址,所以我就填写了前两个ip 185.199.108.153 185.199.109.153 185.199.110.153 185.199.111.153
使用CNAME(推荐)
使用A类解析可能会导致站点无法访问,推荐使用CNAME记录
允许域名访问GitHub
设置自己的博客仓库
进入GitHub仓库(一般是xxx.github.io),进入pages设置页面,找到custom domain,输入自己的域名
添加hhtps认证
如果上面设置的都没问题的话,等待几分钟即可选择Enforce HTTPS
堆排序
堆:是一颗完全二叉树
小根堆:父节点的值 <= 子节点的值
大根堆:父节点的值 >= 子节点的值
对节点使用左右孩子编号发
节点i的左孩子是2i
节点i的右孩子是2i+1
节点i的父节点是i/2
堆(完全二叉树)可以用一维数组存储
堆的插入
[!note]把新元素从队尾插入,再逐层上浮到何时位置
int a[N],cnt;void up(int u)//上浮{ if(u/2 && a[u/2] > a[u]) swap(a[u],a[u/2]),up(u/2);}void push(int x){ a[++cnt] = x; up(cnt);}
堆的删除
[!note] 把尾元素移动到根上,再逐层下沉到合适位置
例如:删除根元素
void down(int u){ int v = u; if(u * 2 <= cnt && a[u * 2] < a[v]) v = u * 2 ; if(u * 2 + 1 <= cnt && a[ ...
归并排序
归并排序算法思想将一个需要排序的数不断地从中间分开,分成两个数组. 之后对两个数组进行比较, 将其合并为一个数组.
找到分界点(l + r) / 2
递归排序 left和right
归并,合二为一实现代码
void merge_sort(int q[], int l, int r){ if (l >= r) return; int mid = l + r >> 1; merge_sort(q, l, mid); merge_sort(q, mid + 1, r); int k = 0, i = l, j = mid + 1; while (i <= mid && j <= r) if (q[i] <= q[j]) tmp[k ++ ] = q[i ++ ]; else tmp[k ++ ] = q[j ++ ]; while (i <= mid) tmp[k ++ ] = q[i ++ ]; while (j <= r) tmp[k ...
快速排序
快速排序快速排序是分治的思想,步骤:
确定分界点,是随机选取的,也可以是q[l],q[(l/r)/2],q[r],主意规定的有可能会导致时间复杂度变为 $O(n)$
调整范围,确定分界点以后左边的数小于分界点,右边的数大于分界点
归并处理左右两端
优化算法,分别取两端i和j,i和j分别向中间靠拢,当出现i与j,比较不符时,更换对应下标的值
void quick_sort(int q[], int l, int r){ if (l >= r) return; int x = q[rand() % (r - l + 1) + l], i = l - 1, j = r + 1;//防止越界 while (i < j) { do i++; while (q[i] < x); do j--; while (q[j] > x); if(i < j) swap(q[i],q[j]); ...
选择hexo的原因
选择hexo作为搭建博客的原因为什么选择最重要的也是最关键的就是太本身就是用 markdown 写的,我当时就是想要做一个博客栈. 然后内容都是用 markdown 写的, 我先后使用了wordpress, halo. 不得不说他们设计的确实很不错, wordpress的插件, 主题都很多. 可供选择的也很多,自定义性也很高; halo页面美观简洁, 内容挺丰富的. 但是我还是喜欢markdown
使用markdown在使用hexo建站之前我就写过很多的笔记, 这些笔记也都是用markdown来写的. 一方面时自己已经完全习惯了用markdown来写文章, 另一方面我很多的笔记之后都会陆陆续续转移到网站上来, 再者markdown对于我这种编辑出身的确实很好
hexo的优势
自定义性高,对于学习前端的自己可以添加一些自己想要的功能
内容简介
有我非常喜欢的主题butterfly
教程多
windows配置java环境
Java环境配置下载Java jdk8可以选择在官网下载也可以在国内镜像源下载进入Java jdk下载官网Java Archive | Oracle
点击下载Java se8
选择64位的点击下载
国内华为云下载地址:Index of java-local/jdk (huaweicloud.com)
选择自己要下载的版本
选择适配自己环境的版本
安装软件双击下载的exe运行安装软件
选择安装地址,这里自己选择自己要安装的位置,并且要记住自己安装的位置
点击next
然后会弹出安装jdk jre,也是自己选择一个安装位置
配置环境
win10右键单击计算机->属性->高级系统设置,选择“环境变量”。在“系统变量”栏下单击“新建”,创建新的系统环境变量。
win11按住win键输入环境变量进入高级
点击环境变量配置
新建一个变量,输入JAVA_HOME,值(Value)是安装的jdk地址
点击Path,点击编辑,千万不要新建
3. 编辑环境变量
验证键盘win+R输入cmd
输入java或javac进行验证
ubuntu22详细安装教程
适用于小白的ubuntu22虚拟机详细安装教程简介
Ubuntu 22.04 LTS,代号为Jammy Jellyfish(果酱水母),是Canonical于2022年4月21日发布的操作系统。这个版本标志着一次主要的版本升级,带来了许多新功能和改进。首先,桌面环境得到了显著的改进。Ubuntu 22.04 LTS采用了GNOME电源配置文件和流线型工作空间过渡,为用户提供了更加流畅的体验。此外,它还提供了强调色的选择功能,使用户能够更加个性化地设置自己的工作环境。安全性也是Ubuntu 22.04 LTS的重点。为了提高安全性,它使用了新的加密算法迁移到OpenSSL v3。同时,Wayland作为默认显示服务器,为用户提供了更加现代的显示解决方案。借助Pipewire等技术,即使是屏幕共享等在Wayland下也能开箱即用,而且没有任何麻烦。对于那些使用NVIDIA显卡的计算机,Wayland甚至默认提供。Ubuntu 22.04 LTS是一个长期支持(Long-Term Support)版本,这意味着它将得到长达五年的支持,直到2027年。这为用户提供了长期的稳定和安全更新。
说 ...
test2
hello
test
模拟 #洛谷月赛 #困难【XR-4】模拟赛
e ^ {i\pi} + 1 = 0$N = P_1 ^ {\alpha _1} P_2 ^ {\alpha _2} \cdots P_n ^ {\alpha _n}$,其中$P_1 < P_2 < \cdots < P_n$,$P_1 , P_2 , \cdots , P_n$为质数。
题目描述X 校正在进行 CSP 前的校内集训。
一共有 $n$ 名 OIer 参与这次集训,教练为他们精心准备了 $m$ 套模拟赛题。
然而,每名 OIer 都有各自的时间安排,巧合的是,他们在接下来的 $k$ 天中都恰好有 $m$ 天有空打模拟赛。
为了方便管理,教练规定一个人必须按顺序打完 $m$ 套模拟赛题。
比如,小 X 在接下来的第 $2,3,5$ 天有空打模拟赛,那么他就必须在第 $2$ 天打第 $1$ 套模拟赛题,第 $3$ 天打第 $2$ 套模拟赛题,第 $5$ 天打第 $3$ 套模拟赛题。
教练需要为每一个人的每一次模拟赛做准备,为了减小工作量,如果在某一天有多个人打同一套模拟赛题,那么教练只需要在这一天准备一场使用这一套 ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post$ hexo new "My New Post"
More info: Writing
Run server$ hexo server
More info: Server
Generate static files$ hexo generate
More info: Generating
Deploy to remote sites$ hexo deploy
More info: Deployment


