文章归档
共 63 篇文章
2026.07
2026.06
- 【未完工】怎么省钱:上下文、缓存命中与 HarnessAgent
发现一直无脑烧 Token 是无止境的,于是决定拿 OpenCode 为例研究一下上下文结构,以及学习一下缓存命中的有关知识,从 B 端和 C 端两个方面降低成本。 观察 LLM 计费的成本结构,我们注意到成本由三部分构…
- OSNote
本文件合并全部章节,便于全文搜索;分章文件更适合逐章学习。 先理解计算机为什么需要操作系统,再看操作系统管理什么、怎样保护硬件,最后区分并发、系统调用、中断等高频概念。 一台计算机至少包含 CPU、内存、磁盘、键盘、显示…
2026.03
- Harness 设计模式Agent
两篇文章的省流版。 来自 Goolgle 文章:5 Agent Skill design patterns every ADK developer should know 核心入口都是 SKILL.md 区别在于如何利用…
- 面向 Agent 编程:Vibe Coding 设计哲学与最佳实践Agent
说实话之前写文章都是 AI 帮我润色的,也就是我跟 AI 聊出来的。虽然我已经尽量把控文风,但是现在读来还是一股 Gemini 味。 所以这篇博客开始我会对我的博客采用完全手写(或者语音输入)的形式撰写,只进行 AI Review…
- 提示词最佳实践Agent
翻译自 Prompting best practices 由于原文提供的中文翻译有缺损,于是进行了自行翻译。 版本:2026.03.11 关于 Claude 最新模型提示工程技术的综合指南,涵盖清晰性、示例、XML 结构…
- 项目初始化 promptAgent
这是我的项目,要求如下: git 使用 git flow 以及 angular commit 规范,不要使用 superpowers 自带的 git-worktrees。 需要新建一个 using-git-worktrees…
2026.02
- 关于 Vibe Coding 的思考与探索Agent
今年我最直接的感受是:vibe coding 真的把开发门槛压下来了。很多以前要完整团队做的东西,现在个人开发者也能做,尤其是那种只服务我自己的高定制化工具。 前一阵子玩了下 openclaw。它确实足够通用,但对我当时…
- 直流有刷电机的系统辨识与前馈控制Robotic
为了更好地控制直流有刷电机,我们常常会在速度环的输出上加上前馈,以使得电机更快地到达目标转速。 一般来说,直流有刷电机控制的物理过程是这样的:PWM占空比-电压-电流-力矩-角加速度-角速度。 根据高中物理,可以注意到我…
2026.01
- CSAPP-Chapter 5: 程序的执行Note
主频与时钟周期: 主频是 CPU 的“心跳频率”,它与时钟周期互为倒数($ f = 1/T $),时钟周期是 CPU 完成一个最基本动作(节拍)所需的最小时间单位。 指令周期: 是 CPU 取出并执行一条完整指令所需的时…
- CSAPP-Chapter 2: 数据的机器级表示Note
使用 IEEE754 标准 在 32 位浮点数(float)中,这 32 个格子被切分成了三块:1位符号位 (S) + 8位阶码 (E) + 23位尾数 (M)。 在 64 位浮点数(double)中,这 64 个格子被…
- CSAPP-Chapter 6: 存储Note
[ Tag ] [ Set ] [ Offset ] 主要概念: 总位数:就是内存地址的总长度的位数。 块内地址:就是块的总长度的位数。 Cache 组号:看组的数量的位数。 组数量:行数 / 组相连路数。 Tag:总位…
- OOPNote
javac (Compiler):编译器。将源码编译成字节码。(类比 gcc,但只生成中间代码)。 java (Launcher):启动器。启动 JVM 进程来加载并运行字节码。(本质是一个虚拟机进程)。 javap (…
- HZCU Web DevelopNote
1-20 章答案,AI 生成,不保证正确 1. Web 使用 ( ) 在服务器和客户端之间传输数据。 选项: A. FTP B. Telnet C. E-mail D. HTTP 答案:D 解析: Web(万维网)的核心…
- CSAPP-Chapter 3: 程序的转换及机器级表示Note
从高地址0FFFFH向低地址 00000H 生长 push 入栈 pop 出栈 | 后缀 | 全称 | 含义 | 大小 (位/字节) | C语言对应类型 | 寄存器举例 | | :---- | :------- | :-…
- CSAPP-Chapter 4: 链接Note
预处理:展开头文件、宏替换、删注释,(.c -> .i),还是 C 语言文件 编译:.c -> .s,将 C 翻译为汇编 汇编:.x -> .o,汇编转换为机器码 每个 .c 文件生成一个 .o 文件,再通过链接合并为一…
- Gemini 中文论文 promptAgent
自用的 Gemini 中文论文 prompt 按照上面的要求完成撰写论文任务。 文风符合普通本科大学生的一般水平。 以文字为主,图表、图片为辅。 标题格式 使用数字型标题 一级标题:1 标题 二级标题:1.1 标题 图表…
2025.11
- HZCU 2025 Freshman - ABC 430 A-D EditorialACM-ICPC
输出 YES 的条件是:C 大于等 A 且 D 小于 B 根据题意判断即可,注意边界 void sol(){ int a, b, c, d; cin >> a >> b >> c >> d; if (c >= a &&…
- HZCU 2025 Freshman STL: Contest EditorialACM-ICPC
语法题、签到题 根据题意使用 set 进行去重并排序后输出即可 注意行尾不能有空格,小心格式错误,另外几题也是 int n; cin >> n; set<int> s; for (int i = 0; i < n; i+…
- HZCU 2025 Freshman STL: Homework EditorialACM-ICPC
考察 vector 的基本使用,按要求输入之后对 vector 指定下标进行访问然后输出即可 int n, m; cin >> n >> m; vector<int> a(n); for (int i = 0; i <…
2025.10
- HZCU 2025 Freshman STLACM-ICPC
STL 的全称是 Standard Template Library,中文一般译为 标准模板库。 它是 C++ 标准库的重要组成部分,提供了一系列模板化的数据结构(如 vector、list、map、set 等)和算法(…
- ACM Note No.21: KMPACM-ICPC
KMP 是一种用来匹配最长相等的真前缀串和真后缀串的方法。 我们首先定义失配数组(又叫前缀数组)fail[i] 为字符串 s 的子串 s[0 ... i] 的最长相等的真前缀串和真后缀串的长度 如何计算这个数组,我们可以…
- [Debug 2025 Freshman] CP Practice 03 - Struct, Pointer and Debugger EditorialDebug-Lab
设数列顺序为从后向前逆推,倒数第 $ n $ 项的为值 $an$ 。那么根据题意可以求出递推公式 $ an = (a{n - 1} + 1) \cdot 2 $,直接用 for 循环实现即可 当然也可以观察规律或者使用数…
- [Debug 2025 Freshman] CP Chapter 04 - Struct, Pointer and DebuggerDebug-Lab
在上一节中,我们学习了 数组 和 字符串,它们让我们能够方便地存储和处理一组相同类型的数据。 但是在生活中,我们的数据往往并不都是同一种类型。例如: | 姓名 | 年龄 | 成绩 | | ---- | ---- | --…
- 提问报告模板Other
这是 Debug 实验室 2025 级招新提问模板,在培训群内问问题前,请确保你读完了之前群文件中发的《提问的智慧》。并且请尽量遵照下面的模板提供详细的问题信息,方便学长们更好地帮你解决问题。 另外,问问题之前请先尝试自…
- 智握:语音驱动的视觉抓取智能机械臂Robotic
当前制造业正处于由自动化向智能化转型的关键阶段。传统生产线普遍面临工艺更新周期长、柔性化不足、人机交互智能化水平低等问题,尤其在零件检测与分拣环节中,仍依赖人工识别和操作,效率低且误差率高。 在此背景下,如何利用人工智能…
- [Debug 2025 Freshman] CP Practice 02 - Array, String and Function EditorialDebug-Lab
按要求输入 n 和数组 a 后,通过遍历数组时动态维护最小值 mn 和最大值 mx 求解即可 #include <math.h> #include <stdio.h> int main() { int n; scanf(…
- [Debug 2025 Freshman] CP Chapter 03 Array, String and FunctionDebug-Lab
回顾我们第一次练习的 G 题:这个问题要求我我们对输入的一组数据去掉最大值与最小值之后计算平均值。在生活中,我们也常常会碰到诸如此类的需要对多组、多个数据的处理,例如处理我们在高中学过的集合。 而在这个时候,直接通过我们…
- MacOS 下 git 全局 ignore .DS_StoreOther
.DSStrore 文件是 MacOS 自动生成的 Desktop Services Store 文件,用于存储文件夹的显示设置 但是 git 不会自动忽略这个文件,导致我们很多时候 git add . 不太方便,每个项…
- [Debug 2025 Freshman] CP Pracitce 01: I/O and Flow Control EditorialDebug-Lab
原题链接:P1001 A+B Problem - 洛谷 很简单的一个有关输入输出的入门练习: #include <stdio.h> // LanternCX int main() { int a, b; // 输入两个整…
2025.09
- 浅谈关于 C++ 的码风以及编码规范Other
主要总结我现在正在使用的 C++ 编码风格规范 主要参考资料: Alibaba-P3C: 阿里巴巴 Java 开发手册,详细结合了中文互联网开发环境的 Java 开发规范 Google-C++风格指南:Google 的开…
- [Debug 2025 Freshman] CP Chapter 02 IO and Flow ControlDebug-Lab
本章将正式开始学习 C 语言相关的内容。内容有关 C 语言的基础语法,基本运算,以及流程控制。 在正式入门语法之前,我们需要明白什么是输入与输出。 对于人类而言,眼睛、耳朵、鼻子能够帮我们从外界获取视觉、声音、气味信息,…
- [Debug 2025 Freshman] CP Chapter 01 IntroDebug-Lab
从本篇开始,你将入门 C 语言编程。 如果你高中学习过 Python,你入门语法的时候可能会比零基础的同学丝滑很多,但是这不意味着 C 语言就和 Python 是一个东西。 相比 Python 而言,C 语言是一门更加底…
2025.08
- RRR 构型关节式三自由度机械臂的运动学解算Robotic
RRR 型关节式 3DOF 机械臂一般由 3 个关节构成 $J1$:绕 Z 轴旋转,控制机械臂的朝向 $J2$:肩关节,控制抬升 $J3$:肘关节,控制伸缩 利用柱面坐标,我们可以方便的表示末端关节的位置: $$ P(r…
- 智握:语音驱动的视觉抓取智能机械臂Robotic
# 智握:语音驱动的视觉抓取智能机械臂 ## 一、项目背景与赛题分析 ### 1.1 制造业痛点与智能化需求 当前制造业正处于由自动化向智能化转型的关键阶段。传统生产线普遍面临工艺更新周期长、柔性化不足、人机交互智能化水…
- [25电赛] 设计报告 - 基于单目视觉的目标物测量装置(C题)EDC
根据题目要求,以及方案分析,视觉处理平台应该满足几个基本要求:算力足够、集成度高、功耗较低。在边缘计算平台的视觉处理中,我们选择视觉处理平台一般有几种方案:基于搭载MPU 的计算平台的开发系统、基于搭载 MCU 计算平台…
2025.07
- 关于第二十届智能车竞赛备赛的总结Smart Car
2025 浙江省智能车竞赛落幕,在 C1 - 极速光电龙芯赛道拿到了省三等 第一次作为 A 类赛的主程,作为一个小白学习到了很多。 有点遗憾的是最终因为种种原因只跑完了 2.3 m/s 的低速稳定版(不过就算全速跑完貌似…
2025.05
- ACM Note No.20: GeometryACM-ICPC
连接原点与两个相邻的点,则封闭图形的面积就是所有的这样的三角形的叉乘和 (1 / 2) P1183 多边形的面积 - 洛谷 struct node { double x, y; }; int main(){ int n;…
2025.03
- Debug Lab - Contribution Guide for Rocos RepoDebug-Lab
fork from Robocup-ssl-China/rocos 编译 更新记录 Wikis Official Wiki from ZJHU Git 基础使用: Commit 流程,Git 与 GitHub 的结合使用…
2025.02
- Pocket Ubuntu: Ubuntu 22.04 即插即用双系统折腾笔记Other
由于一些开发上的需求,经过了我一番不懈的折腾后,成功用尽量小的配置成本完成了一个美观且高可用的、安装于移动硬盘上的即插即用Ubuntu 22.04系统。 这篇博客就当是我的一个折腾备忘录 系统盘: 闲鱼淘来的二手128G…
- 技术部攻略 | 直播技术初步Other
这篇主要介绍直播过程中会提及的一些基本概念,对这些概念有一定基础的同学可以直接跳过这一部分开始OBS Studio的学习 在阿B网上冲浪时,你一定好奇过关于画质的这些选项: 这里的“1080P” 和 “60帧”两个参数都…
- ACM Note No.19: STACM-ICPC
ST表(Sparse Table),是解决可重复贡献问题的区间查询的数据结构,可以做到时间复杂度O(NlogN)的预处理和O(1)的查询。 可重复贡献问题:对于运算opt满足x opt x == x(例如max(x, x…
- ACM Note No.18: LCAACM-ICPC
最近公共祖先(LCA,Lowest Common Ancestor (LCA)),是经典的树上问题。因为在树上两个点之前有且仅有一条路径联通,因此求出两个节点的LCA,知道了路径的拐点之后,就可以解决很多树上的路径问题。…
- ACM Note No.17: Fenwick TreeACM-ICPC
树状数组(Fenwick Tree, Binary Indexed Trees, BIT)是一种能够快速修改并查询数组前缀和的数据结构。 从树状数组的英文名 Binary Indexed Trees 或许更好理解,树状数…
- ACM Note No.16: Sqrt DecompositionACM-ICPC
数论分块,是一种能在O(sqrt(n))复杂度下枚举x / i的值的算法 满足式子n / i == n / j的j的最大值为n / (n / i) 也就是说下面这两段代码等价: #include <bits/stdc++…
2025.01
- ✈️ [2024-10-05 高崎机场]Photography
Download Link(webp format): Github
- 新年快乐![2025-01-29 跨年烟火]Photography
Download Link(webp format): Github
- ACM Note No.14: Liner DPACM-ICPC
动态规划(Dynamic Programming, DP),动态规划是一种重要的思维方法,通过利用已有的子问题信息高效求出当前问题的最优解。使用动态规划需要满足三个条件:最优子结构,无后效性和子问题重叠。 最优子结构:一…
- ACM Note No.15: Knapsack DPACM-ICPC
背包DP分为01背包、完全背包、多重背包等等 背包容量有限,在 n 个物品中拿若干个,如何使得拿到的物品价值最大 因为一个物品只有拿或者不拿两种选择,因此称为01背包 状态定义:dp[i][j]表示在只考虑前i个物品的情…
- ACM Note No.10: DSUACM-ICPC
并查集(DSU, Disjoint Set Union),顾名思义是一种能高效合并两个集合并查询某个数属于哪一个集合的数据结构,在处理连通分量(连通块)问题方面应用十分广泛 并查集实现的为一个森林,其核心思想有二: 将每…
- ACM Note No.11: MSTACM-ICPC
最小生成树(Minimum Spanning Tree,MST),是一个有权图删除若干边能得到的边权和最小的树 常见的求最小生成树的算法有 Prim 算法 和 Kruskal 算法 从小到大加入边,直到所有的点连通 <img…
- ACM Note No.12: DijkstraACM-ICPC
Dijkstra 算法可用于求解非负权图上的单源最短路径,在非负权图上对单个点跑一遍 Dijkstra 就可以知道该点到其他所有点的最短路径 Dijkstra 算法的核心思想是贪心: 如果 A -> C 的路程为 A -…
- ACM Note No.13: FloydACM-ICPC
Floyd 算法可用于求解非负权图上的多源最短路径,在非负权图跑一遍 Floyd 就可以知道该所有点到其他所有点的最短路径 Floyd 算法的核心思想是动态规划: i节点到j节点的最短路径取决于 [i节点经过k节点到达j…
- ACM Note No.9: GraphACM-ICPC
图的存储方式有主要的两种:邻接表与邻接矩阵 邻接表:使用vector<vector<node>>存储,存储节点i的所有出边和权值 邻接矩阵:使用二维数组存储,mp[i][j] = w表示节点i到j有一条权值为w的边 给定…
2024.12
- ACM Note No.6: DFSACM-ICPC
深度优先搜索(DFS)常常用于解决图的连通性问题,暴力枚举问题等等 DFS常常用递归实现: 从1∼n 这 n个整数中随机选出 m个,输出所有可能的选择方案。 #include <bits/stdc++.h> using…
- ACM Note No.8: ManacherACM-ICPC
马拉车算法可以用于解决最长回文子串的问题 当然也可以通过对下文的回文半径数组P求和,以获得回文子串的总数 #include <bits/stdc++.h> using namespace std; string manacher…
- ACM Note No.7: 数论ACM-ICPC
根据十进制的运算性质很容易能写出将十进制转换为数组倒序存储的方法 const int N = 1e4; int s[N + 10]; int toDex(int num){ int digit = 0; while (num…
- ACM Note No.5: BFSACM-ICPC
广度优先搜索常常用于寻找全局最短路,遍历联通块等等,是一种暴力算法 下面是一个广度优先搜索的模板题: 其中可以通过更改dx[]和dy[]数组来更改步进的行为(如马走日字格等) 记得要打上vis[]数组标记访问过的地址不然…
2024.11
- ACM Note No.4: 二分ACM-ICPC
二分具体分为二分查找与二分答案 若题目的答案具有单调性,则可以使用二分答案,思路类似于暴力搜索不过复杂度是O(logN) 当然C++ STL有自带的lowerbound()和upperbound()在有序队列内进行二分查…
- ACM Note No.3: STLACM-ICPC
STL有六大组件 容器(Containers) 算法(Algorithms) 迭代器(Iterators) 仿函数(Functros) 适配器(Adapters) 配置器(Allocators) 在算法竞赛中,主要使用的…
2024.10
- ACM Note No.1: MiscACM-ICPC
#include <bits/stdc++.h> using namespace std; void slove(){ } int main(){ ios::syncwithstdio(0), cin.tie(0), cout…
- ACM Note No.2: 前缀和与差分ACM-ICPC
差分常用于对区间上的值快速进行批量增减 构造差分数组: diff[i] = arr[i] - arr[i - 1]; 对区间[l, r]增加x: diff[l] += x; diff[r + 1] -= x; 还原(对差…