- 博客(36)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 注意力机制精炼解析
对于特定的token,Q的含义是哪些能对它产生作用,K的含义是它能对哪些(记为x)产生怎样的作用,V的含义是它如何对x产生作用。那么Q(C)=ABD,K(C)=D,K(D)=C,V(C)=j,V(D)=j,V(AB)=i等等。在序列“ABC”中,计算C的带注意力的embedding值时就有,Q(C)=AB,K(AB)=C,Q(C)*K(AB)=1,E(C)*V(AB)=iC即被抚养的儿子。而在“DC”中,Q(C)=D,K(D)=C,Q(C)*K(D)=1,E(C)*V(D)=jC即婚姻中的男人。
2024-11-24 19:02:30
224
原创 汽车加油行驶问题-动态规划算法(已在洛谷AC)
给定一个N×N 的方形网格,X 轴向右为正, Y 轴向下为正,每个方格边长为 1。一辆汽车从起点(1,1)出发驶向右下角终点(N,N), 在若干个网格交叉点处,设置了油库,可供汽车在行驶途中加油。这个题确实可以用动态规划做,但是网上的所谓动态规划解法全是错的(洛谷等平台也没有动态规划解),这是算法课的作业,为防止。2.汽车经过一条网格边时,若其 X 坐标或 Y 坐标减小,则应付费用 B ,否则免付费用。4.在需要时可在网格点处增设油库,并付增设油库费用 C与加油费用A。
2024-11-22 18:03:49
616
原创 临界区软件方案核心思想
Peterson等类似的临界区算法的核心思想在于所有进程一直认为此时应该由某个进程执行。大家都很有绅士风范,互相谦让。导致即使当进程A判断条件满足但还没实际进临界区时中断,进程B依然认为应该由A执行。
2024-11-05 15:29:10
272
原创 1x1卷积核到底是什么
1x1卷积核其实是三维的,即1x1xn,其中n称为通道数。卷积核的每一维都会滑动窗口般在数据上相乘再加和为一个数,如2x2x4经过1x1x4卷积后变成了2x2x1,经过1x1x2后变成了2x2x3,从而实现了通道数的变化。
2024-10-30 21:05:25
210
原创 2024全国大学生电子设计大赛全国初赛 E题 三子棋游戏装置 一等奖满分最简方案
感想:电赛初赛控制类题还是蛮简单的,别被五花八门的硬件搞懵了(决赛当我没说)。抓住核心,理念都是通用的。我是计科专业的,因此选择的控制类E题,相对来说背的知识要少很多,更考验智商。其实电赛结果都不重要,在电赛经历中对自己的磨练,尤其是“所想即所得”的快感弥足珍贵。要不是参加电赛,我都不敢想象自己做了一个人机对弈装置。通过电赛,见到了更宽广的世界。前言:我本人一向以天才自居,算法也都是最简洁干练的(那些艰深晦涩而复杂的算法往往是愚蠢的人写出),很多人劝我不要把代码开源,我偏要,我看不惯优快云的那些VIP专栏
2024-08-13 13:58:34
2711
3
原创 再谈梯度与方向导数
要想明白方向导数就要纠正大脑的惯性思维,一元函数中的图像通常是一条曲线,这会让人有错觉,其实这样来表述就明白了:对于x在定义域中的任意取值,都有对应的函数值a,对x取无穷小的变化量dx,对应的函数值变化量a1-a2除以dx就是导数;类似的,在多元函数中,对于某个变量x在其定义域中的任意取值,都有对应的函数值a,对x取无穷小的变化量dx,对应的函数值变化量a1-a2除以dx就是其偏导数,若将无穷小的变化量。分给了各个变量,变化方向不再单一,而是多个变化一点点,总体还是一个单位的无穷小)就是方向导数。
2024-08-10 15:27:16
497
原创 OpenMV4 H7 R2 同时识别多个数字
代码仓库:https://github.com/TingjiaInFuture/openMVs/blob/main/szsb.py。
2024-07-15 16:07:18
621
原创 OpenMV 稳定识别激光点
代码仓库:https://github.com/TingjiaInFuture/openMVs/blob/main/helloworld.py。
2024-07-15 16:05:01
522
原创 背包问题注意点
F[v] = max{F[v], F[v − Ci] + Wi}时注意,由于要求右侧的F[v − Ci]使用的是i-1时的值,所以要从大到小遍历V,不然F[v − Ci]就会被覆盖为新值。
2024-07-03 10:15:42
533
原创 计算机视觉基础核心概念(持续更新)
连续信号表示的图像通过冲激函数采样,在计算机以离散信号存储,每个像素一般具有RGB三通道,每个通道一般8bit,像素点的上下左右称为4-领域,加上斜着四个方向称为8-领域,相邻点彼此连接称为连通的区域,包含边界的区域称为背景,感兴趣物体与背景间的称为孔,区域边缘一般梯度变化大,也可以根据阈值来确定边缘,或者各类卷积核算子。点积的值表示相似程度,卷积是对称的点积。可以通过高斯分布核卷积来做高斯模糊,这是降采样。上采样根据局部泛化,函数的平滑性进行插值。
2024-06-28 16:54:17
138
原创 日记模块设计报告
日记模块核心逻辑在后端实现,搜索、推荐排序等的具体实现在前端完成,后端提供通用API,前端负责呈现内容。核心功能包括日记撰写、日记搜索、日记查看(及评分与删除)、日记压缩存储、日记综合推荐。核心组件包括server.jssqlite.jsindex.htmlmain.jsmain.css。核心算法包括堆排序、哈夫曼压缩、KMP、冒泡排序等。
2024-06-16 23:45:07
782
原创 游学系统后端API
用户注册。请求体应包含username和password字段。返回一个包含userId的对象,如果用户名已经存在,则返回一个错误消息。
2024-06-04 17:27:09
437
原创 总线带宽与总线宽度
存储总线由数据总线、地址总线、控制总线组成,总线宽度为这三部分宽度之和。数据总线宽度一般与CPU中寄存器位数一致,如32位,64位等。总线带宽指数据传输的速率,如1000MB/s。
2024-06-03 10:22:43
445
原创 泵浦引理的极简理解
的等价形式,其中字符串b与c必可重复任意次。(注:三型文法为线性文法,因此只可能随着A的循环在其旁边有一个可重复子串,而二型文法可以左右各一个。注意,可重复子串的个数本身没有限制。对于二型文法产生的语言,如果存在可重复的子串,在生成式中必存在。
2024-05-28 23:26:11
228
原创 从零开始构建社交app(全栈开发)
后端 https://github.com/TingjiaInFuture/server。安卓端应用 https://github.com/TingjiaInFuture/milin。
2024-01-17 19:12:42
1413
原创 回溯法 子集求和 可变元组
w数组默认为严格递增。注意到一开始s+r=0+r>m,而每层递归调用时皆满足s + w[k + 1] <= m;每次调用时必定有s+r>=m,因为如果没有进入过右子树,则s+r不变大于m,如果进入过右子树,则由生成右子树的判定s + r - w[k] >= m知s+r>=m。这里再多说一句:注意对x[k]的赋值都写在限界函数外,这是因为回溯的本质会将最终解交给下一层递归去执行,如果判断语句没有通过则对x[k]的赋值不会影响后续结果。保证了数组不会越界。
2023-08-14 12:48:34
78
原创 回溯算法示例(固定元组)
w数组默认为严格递增。注意到一开始s+r=0+r>m,而每层递归调用时皆满足s + w[k + 1] <= m;每次调用时必定有s+r>=m,因为如果没有进入过右子树,则s+r不变大于m,如果进入过右子树,则由生成右子树的判定s + r - w[k] >= m知s+r>=m。固定元组和可变元组是基于解的表达形式,固定元组使用0、1表示某元素是否存在,可变元组则直接给出可行解包含的元素。保证了数组不会越界。
2023-08-13 17:44:27
97
1
原创 Java实现最大堆,包括查找值所在节点坐标、删除任一节点等方法
【代码】Java实现最大堆,包括输出最大值、查找值所在节点坐标、删除任一节点等方法。
2023-07-30 19:57:44
266
1
原创 接雨水 最简单的直观思路->简单算法+优秀性能
Problem: 42. 接雨水文章目录思路解题方法复杂度Code思路观众解,无相类,遂记之。解题方法雨水的面积=注水后的总面积-注水前的面积。(这么简单的道理为什么那么多人不会呢???!!!)因为注水后海拔最低点一定在两端,所以以从低到高走的顺序求总面积total:先从左到右,每上一阶(或同阶)记下刚才路过的面积,第一次循环求出墙体总面积sum,记录最高阶l,第二次循环从右往左,只需要走到最高阶l处就好了。面积=底乘高,底就是走过的路程count。复杂度时间复杂度:O
2023-07-27 19:13:01
94
1
原创 铺砖类问题本质研究
铺砖类问题本质研究例题1:在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数.例题2:学校教室的长度为n米,宽度为3米,现在我们有2种地砖,规格分别是1米×1米,2米×2米,如果要为该教室铺设地砖,请问有几种铺设方式呢?例题…关于这类使用递归算法解决的铺砖问题的博文在网上很多,但我看到的都是直言其递推关系并没有说明其本质。我稍加思索,研究出”特殊位置分类法“来描述其本质。对于上述的铺砖类问题,我们都可以观察其最左(右当然也行,不过挺别扭的)端的起始部分的各种铺砖
2023-02-15 14:26:32
159
原创 单链表的Java简单实现
单链表的Java简单实现最近在研究单链表相交的问题时,为验证思路的正确性,使用java简单实现了单链表,包括增删改查和判断是否有环及解环、成环等方法。
2023-02-09 13:28:37
93
原创 判断两个单链表是否相交(返回交点)的解法(时间复杂度O(N),空间复杂度O(1))
判断两个单链表是否相交(返回交点)的解法(时间复杂度O(N),空间复杂度O(1))两个单链表相交,可以理解为(即)一个单链表的某一结点指向了另一单链表的某一结点。当我们实现判断单链表是否有环的方法后(利用快慢指针判断单链表是否有环),一个自然的想法便是,先将两个单链表分别在首个环节点处拆开(没有环则是在末尾拆开等效于没有拆),再将其中一个单链表首尾相接,然后从另一个单链表的头结点开始判断其是否有环,如有则两个单链表相交。
2023-02-08 19:00:17
200
原创 哈夫曼编码原理精炼解析
哈夫曼编码精炼解析1.为了使每个字符编码不会是另一个字符编码的前缀,哈夫曼编码利用自底向上生成二叉树,这样使得每个字符都是叶节点,从根节点到叶节点的路径上不会有其他字符节点,使用0、1标注左右而表示的路径记为该叶节点的哈夫曼编码。2.为了使出现次数较多的字符出现在较浅层即离根节点较近以获得较短路径,自底向上生成二叉树的时候将出现次数最少的两个字符(或次数代表)组合在一起形成一个次数代表(树)。3.在由满二叉树转换为哈夫曼树的过程中,总编码长度是减小的。
2023-02-03 13:48:20
406
原创 KMP算法原理精简解析
KMP算法原理精简解析KMP是解决字符串匹配问题的算法,用其三位发明者的名字首字母命名。KMP原理很简单,但被网络上很多不理解却强行理解的人弄的很复杂。
2023-02-02 21:59:57
195
原创 利用快慢指针判断单链表是否有环(返回first环节点)解法(附在文末)的原创证明及思考
利用快慢指针判断单链表是否有环(返回first环节点)解法(附在文末)的原创证明及思考结论:为不遗漏每一个结点,快指针只能一次两步,慢指针只能一次一步。
2023-01-29 12:34:19
243
如何用命令行运行含多个class文件的Java程序?
2021-11-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人