algorithm-monotonic-stack
单调栈
单调栈(Monotonic Stack)是一种特殊的栈,它首先是一个栈,从栈顶添加和删除元素,其次栈中的所有元素单调递增或者单调递减
在一个队列Deque中,我们offer右边,poll左边,这样左边就是队首,右边是队尾
如果这个Deque作为栈,我们push和pop左边,并且把左边作为栈顶
单调性的判断是从栈顶到栈底(Deque中从左往右看)
单增栈:栈顶到栈底的元素是单调递增的,即栈顶的元素最小
单减栈:栈顶到栈底的元素是单调递减的,即栈顶的元素最大
后上界:对于数组中的某个元素 a[i],它的后上界是指在它之后的第一个比它大的元素
后下界:对于数组中的某个元素 a[i],它的后下界是指在它之后的第一个比它小的元素
单调栈在算法中的应用在于它能够在一次扫描(从左到右)即O(n)的复杂度之内找到数组中每一个元素的后上界(单增栈)或者后下界(单减栈)
496. 下一个更大元素 II: 递增栈获得每个元素的后上界
2866. 美丽塔 II(2072)
1944. 队列中可以看到的人数(2105)
2454. 下一个更大元素 IV(2175):双单调栈
...
solution-用GitHub Actions实现memos备份
用GitHub Actions实现memos备份
正文
我的memos是在replit提供的免费服务器上部署的,数据也保存在这个服务器上,我怕哪天上面的数据没了,所以写了个GitHub Actions备份脚本
可以新建一个GitHub仓库,并开启Actions的读写权限:仓库的Settings-Actions-General-Workflow permissions-选择Read and write permissions
在.github\workflows\main.yml中:
12345678910111213141516171819202122232425262728293031323334name: Backup Memoson: schedule: - cron: "0 */4 * * *" # 每隔4小时执行一次 workflow_dispatch:jobs: backup: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/ ...
note-exam-nku-computer-network
计网复习记录
2023南开大学研究生计算机网络考试【专硕】
今年提示
计网考试。5道选择,送分的。五道大题,有些小题,没有复杂计算,基础的东西
tcp bgp ip 机制改进,说明理由 qs 没有定义类型问题,以理解为主,不用背
课程ppt知识点
综述
Internet设计原则
能连接到现有网络
无状态网络(只在终端有状态)
基于tcp或者udp
多种多样的网络
无线网络
局域网(LAN):
范围: 局域网是在相对较小的地理范围内建立的网络,例如办公楼、校园或单个建筑物。
连接设备: 通常连接的设备数量较少,如个人电脑、打印机、服务器等。
传输速度: 由于范围较小,局域网通常具有高速的数据传输速度。
WLAN(Wireless Local Area Network)是局域网的一种类型
IEEE802.11:IEEE 802.11 是一组无线局域网(Wireless LAN)通信标准,广泛用于Wi-Fi网络。它支持不同频段和速率,包括2.4GHz和5GHz,常见于家庭、企业和公共场所的无线网络。
城域网(MAN):
范围: 城域网覆盖的范围介于局域网和广域网 ...
solution-做一个爱死机博客加载动画
Love, Death & Robots加载动画
首先,在这个令人开心的时刻,让我们先感谢这个动画的css作者
加载动画预览也看那个作者链接吧,差不多,只是把颜色改了改
要做什么
butterfly版本:4.10
添加加载动画的两种文件:pug和styl,分别对应html和css文件
在主题中添加加载动画的入口
pug资源目录:themes/butterfly/layout/includes/loading/load_style
styl资源目录:themes/butterfly/source/css/_load_style
pug的配置入口位置:themes/butterfly/layout/includes/loading/fullpage-loading.pug
styl的配置入口位置:themes/butterfly/source/css/_layout/loading.styl
如果觉得上面东西很陌生的话,建议先看看前辈的自定义加载动画博客
开始操作
新建文件:themes/butterfly/layout/includes/loading/load_styl ...
note-design
记录一些好看的图标和颜色
图标
FontAwesome
123456789101112131415fa-solid fa-mug-saucer # 杯子fa-solid fa-heartbeat # 心脏fa-solid fa-circle-nodes # 三角形的图fa-solid fa-tree # 树 fa-solid fa-wand-magic-sparkles # 魔法笔fa-solid fa-pencil # 铅笔fa-solid fa-list # 列表fa-solid fa-code # 代码fa-brands fa-codepen # codepen图标fa-solid fa-bug # bugfa-solid fa-tags # 标签fa-solid fa-folder-open # 分类fa-solid fa-archive # 归档fas fa-link # 链接
即用图标
12📺 电影📚 书籍
Favicon
favicon网站
根据图片生成图标
根据文字生成图标
图片
封面
https://coverview. ...
solution-记一次同时训练两个模型的问题
同时训练两个模型遇到了bug,记录今天由这个bug引发一系列bug的过程
使用resnet18进行图像分类
1234567model_ft = models.resnet18(pretrained=True)num_ftrs = model_ft.fc.in_featuresmodel_ft.fc = nn.Linear(num_ftrs, len(class_names))model_ft = model_ft.to(device)cross_entropy_loss = nn.CrossEntropyLoss()optimizer_ft = optim.SGD(model_ft.parameters(), lr=1e-3, momentum=0.9)exp_lr_scheduler = lr_scheduler.StepLR(optimizer_ft, step_size=5, gamma=0.1)
单独训练这个模型在我的数据集的正确率在0.96左右
需求:同时跑两个一样模型
于是我定义了一个函数,使用deepcopy复制得到全新的模型,并且在train函数中同时跑这两个模型
12 ...
algorithm-series-2d-partial-order
二维偏序
概念
偏序关系满足:
反自反性(Reflexivity): 对于集合中的每个元素,关系都与自身存在。
反对称性(Antisymmetry): 如果存在a<=b && b<=a,则必须是a==b
传递性(Transitivity): 如果存在a<=b && b<=c,则必须是a<=c
二维偏序问题涉及对一个二维数据集中元素的排序,其中排序不仅仅依赖于元素自身的大小关系,还可能依赖于元素在不同维度上的关系。
二维偏序是这样一类问题:已知点对的序列(a1,b1), (a2,b2), (a3,b3)...,
并在其上定义某种偏序关系<,现有点(ai,bi),求满足(aj,bj) < (ai,bi)的的数量。
二维偏序问题一般是要使其中的一个维度有序,再通过树状数组的方式处理另一个维度
翻转对
给定一个数组 nums ,如果 i < j 且 nums[i] > 2*nums[j] 我们就将 (i, j) 称作一个重要翻转对。
你需要返回给定数组中的重要翻转对的数量。
示例 1:
12输入: ...
solution-Github克隆仓库出现中文乱码问题
Github克隆仓库出现中文乱码问题
最近在使用自己的Github仓库时,发现clone下来的仓库中,有个文件里的中文乱码了
文件内容如下:
1234;------------ Encoding: UTF-16 ------------;请对照 CapsLock+settingsDemo.ini 来配置相关设置(乱码显示)[Global]...
第一眼的想法是,Github服务器和本地Windows环境不一致导致的,于是我把UTF-16修改成了UTF-8
12;------------ Encoding: UTF-8 ------------...
提交测试后,发现还是不行
后来顿悟了,我应该在本地把文件的格式改成UTF-8,而不是修改里面代码的Encoding(笑哭)
比如,我这里用notepad++,打开文件后直接在左上角编码-使用UTF-8编码-保存,就好了
此时,再上传到Github,clone下来测试,没问题
note-wallpaper-engine
提取创意功放壁纸的工程文件
下载创意工坊的壁纸后,右键,在资源管理器中打开,可以看到一个叫做scene.pkg的文件,wallpaper-engine就是通过pkg格式保存工程文件
需要通过RePKG工具进行提取:下载链接
提取后,就可以学习大佬们的壁纸制作了
创建壁纸
使用wallpaper-engine自带壁纸编辑器,打开壁纸编辑器-使用模板,填写项目名称,选择2D Scene,即可新建壁纸
复制壁纸:把RePKG提取的工程文件复制到创建壁纸的工程文件目录即可(编辑-在资源管理器中打开)
编辑壁纸
可以给壁纸添加效果,例如:眼动追踪,树叶摇摆(头发,身体部位)
可以给壁纸添加组件(或者叫图层),常见的有雨滴,音乐可视化等,可以浏览创意工坊找到想要的组件
tips-python
前言:Python有很多好用的方法和工具类,但是经常很长时间不用就忘记了,于是记录下
语法
异常处理
123456try: # 正常的操作except Exception as e: # 异常处理else: # 没有异常执行这部分代码
文件写入
r:只读,不创建文件
r+:读写:不创建文件
w:只写,创建文件,存在文件则清空
w+:读写,创建文件,存在文件则清空
a:只写,创建文件,存在文件则附加内容
a+:读写,创建文件,存在文件则附加内容
123with open("file-name", "a") as file: file.write(ncbi_id) file.write("\n")
遍历
12345for item in list: print(item) for idx, item in enumerate(list): print(idx)
字符串
12# 保留小数normalized_score = format(normalized_score, &q ...


