avatar
文章
15
标签
14
分类
4
Home
About
Categories
Tags
Links
List
  • 歌单
  • 番剧
  • Galgame
  • 书单
Alphazer01214’s Blog
Home
About
Categories
Tags
Links
List
  • 歌单
  • 番剧
  • Galgame
  • 书单

Alphazer01214’s Blog

不要再使用 response_format = {'type': 'json_object'} 了
发表于2026-03-17
不要再使用 response_format = {‘type’: ‘json_object’} 了 尤其是阿里相关的,Qwen更是重灾区。 猜测内部逻辑是: 检测是否有 ``` 或 ```json ,如果有,就replace; 如果无法 deserialize , 就令模型重新生成。 这十分愚蠢。尤其是 Qwen 一系列模型显然在相关内容的训练不足,在使用 lingma 的过程中, 其 agent 多次因为输出无效的 JSON 格式从而无法调用工具。 导致反序列化失败的因素有很多,拿最近的经历举例,假如 value 内不小心需要使用引号,模型并不会(至少概率很小)给这些引号转义。 除此之外,意想不到的换行符也是反序列化失败的重要原因。由于转义的不可控,你以为看到的 json 是这样的: 123{ "key": "value"} 然而有可能模型这样输出: 123{\n \"key\": \"value\"\n} 这就完全无法序列化了。 我能想到的解决方案只有...
基于Samba+WireGuard的远程Galgame游玩方案
发表于2026-03-10
概览 我们的目标很简单: 远程连接主机 访问文件系统 由于Samba要求内网环境访问,在学校里无法直接把服务器的硬盘当作本地硬盘(当然,filebrowser等NAS工具依旧可以使用)。 本文假设读者已经有一个远程 Linux 服务器并能够进行 ssh 通信,且主机有一块数据硬盘。 注意 : 我的服务器仅支持 ipv6 ,以下配置均基于 ipv6 进行。 Samba 配置 安装 运行: 12sudo apt install sambasystemctl enable smbd.service 这个命令安装并让 samba 自启。 挂载 使用以下命令查看磁盘: 1lsblk 会看到类似: 1234sda 4T ├─sda1 sdb 4T └─sdb1 我们在 root 创建一个文件夹 1sudo mkdir -p /data/hdd1 挂载 1sudo mount /dev/sda1 /data/hdd1 以上是挂载一块硬盘的示例,挂载更多的硬盘步骤类似。这一步之后我们就能够访问 /data/hdd1 来访问硬盘的数据了。 配置 首先将 samba 与用户绑定。假...
加密算法SHA
发表于2025-12-17|Computer Science
需求描述近期想实现一个用户管理系统,因此希望实现一种将任意长度字符串转为定长字符串的算法,初步搜索发现了 SHA-256 算法。 据说在加密货币中也用到了,这激发了我的兴趣。 SHA-256介绍SHA-256(Secure Hash Algorithm 256-bit)能够将任意长度的输入消息转换为**256位(32字节)**的固定长度输出,通常表示为64个十六进制字符。 神秘常数1234567891011121314private static final int[] K = { 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6,...
OpenCV配置踩坑踩麻了——OpenCV+Freetype+CLion配置心得
发表于2025-12-06|Tutorial
真的爆了 事情最开始是小学期希望把 Python 的 Aimbot 移植到 C++ 里面,于是就要用到 OpenCV 。当时配了半天都只停在 Cmake 的阶段,最后放弃了,,, 而最近希望用C++做一个小应用,需要使用OpenCV+Freetype的组合,又不得不开始配置 OpenCV,,, 期间尝试了很多方法,包括下载源码编译,下载已编译的文件,使用 vcpkg 等等。。。最后还是不得不使用 vcpkg,,, 这篇文章我先介绍一个失败的方法,再介绍最终解决方案 准备工作 组件 说明 系统 Windows 11 编译器 Visual Studio(安装时记得勾选 C++ 桌面开发 工作负载) IDE CLion(我用的 IDE) 包管理 vcpkg 注:即使你用 CLion,也必须装 VS —— 因为 Windows 下 C++ 编译链(MSVC)依赖 VS 的工具链,CLion 只是调用它。 尝试一:源码编译 额外准备 OpenCV 源码(github.com/opencv/opencv) OpenCV contrib 源码(github...
算法学习笔记——动态规划
发表于2025-10-20|Computer Science
前缀和、动态规划 这是LeetCode第2218题,今天的每日一题。 题面 一张桌子上总共有 n 个硬币 栈 。每个栈有 正整数 个带面值的硬币。 每一次操作中,你可以从任意一个栈的 顶部 取出 1 个硬币,从栈中移除它,并放入你的钱包里。 给你一个列表 piles ,其中 piles[i] 是一个整数数组,分别表示第 i 个栈里 从顶到底 的硬币面值。同时给你一个正整数 k ,请你返回在 恰好 进行 k 次操作的前提下,你钱包里硬币面值之和 最大为多少 。 示例 1: 12输入:piles = [[1,100,3],[7,8,9]], k = 2输出:101 思路 首要目标是找到递推关系。 首先确定两个维度。因为取硬币的行为包含两个因素,一个是现在正在取哪一个栈里的硬币,一个是还能取多少硬币。分别记为$i,j$,那么确定: $$ dp[i][j] $$ 为从前$i$个栈中,至多取出$j$个硬币,面值的最大值。 这个状态由前$i-1$个栈的情况转移而来。如何转移?可以对第$i$个栈中要取多少硬币进行枚举,如果从该栈中取了$w$个,那么之前的$i-1$个栈就至多只能取$j-w...
算法学习笔记——基础数据结构
发表于2025-10-15
这是灵茶山艾府的算法题单的学习笔记,将介绍前缀和/栈/队列/堆/字典树/并查集/树状数组/线段树等经典数据结构。 枚举 双变量问题,通过枚举转化为单变量。需要注意枚举同时维护答案。 对于三变量以上,可以考虑枚举中间值。 前缀和 一维情况,对于数组 arr[n] ,要求区间 [i, j] 内所有元素的和,可以考虑令 sum[i+1] = sum[i] + arr[i] 则 区间和为: sum[j+1]-sum[i] ,注意初始化 sum[0] = 0 。 二维前缀和 考虑使用 sum[i+1][j+1] 表示左上角矩阵元素和,即从(0,0)到(i, j)。则有递推关系: $$ sum[i+1][j+1] = sum[i][j+1] + sum[i+1][j] - sum[i][j] + arr[i][j] $$ 可以画图理解减去 $sum[i][j]$ ,因为这部分算了两次。 相对应的,当我们需要求某个矩形区间和时,对 sum 数组也需要使用类似的操作: $$ sum((i, j), (x, y)) = sum[x+1][y+1] - sum[x+1][j] - sum[i...
算法学习笔记——图论
发表于2025-10-15|Computer Science
基本概念 顶点 (Vertex):图中的数据元素。 边 (Edge) / 弧 (Arc) 无向图 (Undigraph):边是无方向的,用 (v, w) 表示。如果 (v, w) 存在,则 v 和 w 互为邻接点。 有向图 (Digraph):弧是有方向的,用 <v, w> 表示,v 是弧尾(起点),w 是弧头(终点)。 度 (Degree) 无向图中,顶点 v 的度 TD(v) 是与它相连的边的数目。 有向图中,TD(v) = ID(v) + OD(v),其中 ID(v) 是入度(指向 v 的弧数),OD(v) 是出度(从 v 出发的弧数)。 推论:在任意图中,度数为奇数的点必然有偶数个。 路径 (Path):从一个顶点到另一个顶点的顶点序列。路径上边或弧的数目称为路径长度。 连通性 无向图:若任意两点间都有路径,则称为连通图。非连通图的极大连通子图称为连通分量。 有向图:若任意两点间都存在双向路径,则称为强连通图。非强连通图的极大强连通子图称为强连通分量。 生成树 (Spanning Tree):对于一个无向连通图,其生成树是一个包...
算法学习笔记——位运算
发表于2025-10-14
集合论 位运算可以高效处理集合相关问题。 集合具有性质:元素不重复。那么对于一个整数集合,可以用二进制唯一表示其包含元素。 用 $f(S)$ 表示一个集合的编码,那么 $f(S) = \sum_{i \in S} 2^i$ 举例:有一个集合 ${0, 1, 3}$, 那么 $f(S) = 2^0 + 2^1 + 2^3 = 11 = (1010)_2$ 反转二进制编码 例如: $$ (12)_{10}=(1100)_2 $$ 则反转后 $$ (0011)2 = (3){10} $$ 定义函数 $f(x)$ 用于表示某十进制数 $x$ 二进制反转后得到的十进制数 $f(x)$。
算法学习笔记——树
发表于2025-10-13|Computer Science
二叉堆基于堆的排序方式。 结构:它是一个完全二叉树,通常用数组来表示。 对于数组中下标为 i 的节点: 其父节点的下标是 (i-1)/2(向下取整)。 其左子节点的下标是 2*i + 1。 其右子节点的下标是 2*i + 2。 性质: 最大堆:每个节点的值都大于或等于其子节点的值。堆顶是最大值。 最小堆:每个节点的值都小于或等于其子节点的值。堆顶是最小值。 堆化对于一个节点,如果它不满足堆的性质(比如它的值小于其某个子节点),就将其 “下沉” ,直到它大于其子节点,或到达叶子节点。 过程: 在当前节点、其左子节点、其右子节点中,找出值最大的节点。 如果最大节点不是当前节点,则交换当前节点和这个最大节点。 递归或迭代地对被交换下去的那个子节点位置继续执行堆化操作。 1234567891011121314151617181920212223void heapify(vector<int> &arr, int n, int i){ // n: size of heap // i: index of root // ...
算法学习笔记——字符串匹配算法
发表于2025-09-23
KMP 线性时间匹配字符串的算法。 引入:前缀函数 先明确「前缀」和「后缀」的定义: 前缀:从字符串开头开始的子串(如 abcde 的前缀有 a、ab、abc、abcd); 后缀:以字符串结尾结束的子串(如 abcde 的后缀有 e、de、cde、bcde); 「相等前缀和后缀」:指内容完全相同的前缀和后缀(如 abab 的前缀 ab 和后缀 ab 相等)。 则 π[i] 表示: 子串 s[0…i](即从第 0 个字符到第 i 个字符的子串)中,最长的、既等于该子串前缀,又等于该子串后缀的非平凡子串的长度。 注意最长这一条件。 计算前缀函数 因为有“最长”这一条件限制,因此采用 DP 即可实现其最优结构。 123456789101112131415161718s = "..."pi[0] = 0; // 没有子串for(int i = 1; i < s.length(); ++i){ int len = pi[i-1]; // s[0:i-1]最长前缀长度(作为已知量) if(s[len] == s[i])&#...
12
avatar
Alpha_零能
实用主义 | 兴趣使然
文章
15
标签
14
分类
4
Follow Me
公告
Welcome to my blog
最新文章
不要再使用 response_format = {'type': 'json_object'} 了2026-03-17
基于Samba+WireGuard的远程Galgame游玩方案2026-03-10
加密算法SHA2025-12-17
OpenCV配置踩坑踩麻了——OpenCV+Freetype+CLion配置心得2025-12-06
算法学习笔记——动态规划2025-10-20
分类
  • Computer Science6
  • Routine1
  • Technical1
  • Tutorial1
标签
队列 二次元 数据结构 教程 树 Windows 图论 动态规划 算法 游戏 OpenCV 递归分治 音乐 加密
归档
  • 三月 2026 2
  • 十二月 2025 2
  • 十月 2025 5
  • 九月 2025 1
  • 七月 2025 1
  • 一月 2025 4
网站信息
文章数目 :
15
本站总字数 :
17.4k
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2025 - 2026 By Alpha_零能