自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 问答 (17)
  • 收藏
  • 关注

原创 创新实训2024.05.12日志:建立易学知识库

生产机上的环境还没有配好,这里我记录下需要配置的环境。

2024-05-16 09:06:49 595

原创 创新实训2024.04.24日志:RAG技术初探

现在我们知道了如何获取一个向量数据库的服务。但在哪里使用它,如何使用它呢?正如先前RAG的Working Pipeline中所说,用户在请求大模型进行任务时,先通过检索向量数据库获取相似知识优化Prompt,再进行提问。那么这样一套流程,是如何映射到代码中的,我们是如何使用向量数据库提供的检索功能的?

2024-04-25 18:56:28 864

原创 项目实训2024.04.12日志:Self-QA生成问答对

Self-QA(Self Question Answering)技术是一种自然语言处理(NLP)技术,它旨在通过生成问题并自行回答来增强机器对文本的理解。这种技术通常用于提升机器学习模型,尤其是深度学习模型在问答、文本理解和生成等领域的性能。Self-QA技术的核心思想是通过模型自身生成的问题来测试和提高其对文本的理解能力。在这个过程中,模型需要对给定的文本内容进行深入分析,生成相关的问题,然后使用文本内容来回答这些问题。通过这种方式,模型可以在没有额外标注数据的情况下进行自我训练和优化。

2024-04-12 23:25:27 924

原创 创新实训2024.04.11日志:self-instruct生成指令

例如,”写一篇有关校园安全的短文“可以是一个合法的、我们期望LM直接回答的问题,但当他变成”写一篇有关下述主题的短文“,就成了一个指令,随后”校园安全“可以作为一个实例的输入(也即问题)。之后,根据step1:Instruction Generation,从种子指令中挑选5条,迭代生成的指令中挑选5条(可能会重复,但不用担心,最后我们会去重的)。一开始的初始语料还是需要我们自己搜集的。简单来说,传统的NLP技术需要涉及两大不可或缺的步骤:大型的预训练好的大语言模型以及人工搜集的语料(指令数据)。

2024-04-11 19:40:04 839

原创 创新实训2024.04.07日志:提取QA对

创新实训2024.04.07日志:提取QA对

2024-04-08 00:09:56 1075

原创 BitWise-Operation

之前有个《位运算trick》的文章,也是讲位运算的。不过最近灵神发了个位运算的题单。这篇就按题单来了。

2024-04-05 20:48:13 748

原创 数学结论在dsa中的应用

然后枚举被删除的,从剩下的里面挑一个最大的,一个最小的,相减,更新答案。如下图,红色线段是欧式距离,深蓝色线段是曼哈顿距离,灰色射线是新坐标系x轴和y轴,黑色射线是原坐标系x轴和y轴,橙色线段是切比雪夫距离,就等于原坐标系的曼哈顿距离,也就是橙色线段的长度等于左边图中两条深蓝色线段的长度。当我们把操作后的坐标投影到原先坐标系的x轴或y轴上后,原先两个点之间的距离,就变成了投影在x/y轴上的距离,这是因为投影把线段缩小到原来的1/sqrt(2)倍,正好和扩大sqrt(2)倍兑掉了。这就引入了切比雪夫距离。

2024-04-04 16:05:50 404

原创 Binary Indexed Tree

比如你要查[1,7]的,你直接一看7的lowbit,1,那就算上c[7]=[7,7],然后跳到7-1=6去。再一看4的lowbit,4,那就算上c[4] = [1,4],然后跳到4-4=0去,到此跳出了树状数组,查询结束,返回和。例如你拆[1,13],那么递归到底部必然拆了[1,1] ⇒ [1,1],[1,2] ⇒ [2,2],[1,3] ⇒ [1,2] + [3,3]…那多出来的部分单算,比如[2:6],索引2上的1单独算就行了,复杂度O(n/B+B),由于B大概率比n小,那就是O(n/B))

2024-03-06 14:55:05 819

原创 网格图的搜索

来自灵神网格图题单。

2024-02-29 19:10:28 394

原创 多叉树上的操作

这里的树指的是有根树。

2024-02-21 11:58:40 386

原创 Hash哈希

VP双周赛123T3。一直想在Hash表里存每种数字出现的索引,查询nums[i]±k的所有可能索引,前缀和相减得到子数组和维护最大值。最后不出意外的T了。既然要找之前的最小前缀和,为啥不在Hash表里直接维护每个数字对应的最小前缀和呢?注意子数组是闭区间,前缀和数组里加个哨兵即可。然后这道题实际上不需要前缀和数组,滚动一个前缀和就可以了,闭区间滞后一个元素即可。

2024-02-20 19:58:47 356

原创 Lowest Common Ancestor

LCA:LCA_TARJAN

2024-01-26 18:59:44 609

原创 分组循环A

对于每个分组,如果可以交换,则扩展分组的窗口,直至达到尽头或者不能交换为止。这样这个分组里的数都是可以任意交换的,因此就可以对这个分组进行排序。对每个分组排序后如果能使得整个数组有序,那么就成功。分组查询每段平滑下跌阶段。贡献是(l+1)*l/2(等差数列),累加即可。分组检查连续相同子串长度,超过2就缩减到2,拼到答案里即可。这题我比赛时用的并查集。看灵神视频学了个分组循环的做法。分组记录0/1子串长度,维护最大值,最后比较。分组查询交替子数组长度,维护最大值。分组记录每个连续字符子串长度,维护最大值。

2024-01-23 00:09:24 372

原创 QUEUE

维护一个单调增的单调队列。也就是如果队尾元素大于当前前缀和的话,就应该把队尾踢掉。这是因为:当后续前缀和查询队列中维护的前缀和时,如果当前前缀和与其之差≥k的话,那么与一个更小的前缀和之差也一定≥k。由于我们是正序的,所以踢走队尾的前缀和的索引一定更靠后。也就更接近日后查询时的索引。之所以不用单调栈而是一个单调的双端队列,是因为栈没办法查询或操作栈底元素。我们想要最短区间,是肯定要查看之前最早的检查点的,也就是踢人的时候不能从队尾踢,队尾的前缀和要留给更后面的位置查询。子数组元素和显然要算前缀和。

2024-01-20 16:45:51 364

原创 字符串匹配

细节在代码中看不懂的可以参照:如何更好地理解和掌握 KMP 算法?- 阮行止的回答 - 知乎。

2024-01-16 14:25:34 386

原创 DP:数位DP

数位DP的大致思想:枚举每一位能选取的合法值。

2024-01-16 13:40:19 1097

原创 Fancy

专门记录一点思维题。

2024-01-11 20:01:18 401

原创 Union-Find

并查集判连通:由于我们想要的是最大安全系数,所以倒着搜各个安全距离对应的点集。如果发现它的邻居的安全距离大于等于它的,那么可以把它的邻居对应的等级类直接归到这个点对应的等级类。由于我们倒着搜答案,因此这个等价类的门槛会越来越低,直至把所有点都囊括进去,那个时候安全系数也就只能为0了。预计算写的暴力,判断写的深搜。这题预计算所有点的安全距离的方式应该是多源BFS。判断连通性的方式是DSU。所以不放在二分题单里,放在DSU。核心想法:如果这个元素的源头不是他自己 说明它被归到别的等价类去了,深搜它的源头(链)

2024-01-11 19:36:46 618

原创 STACK

如果当前元素位于这个应有的元素后方,那么需要补齐中间的;如果在前方,说明上一轮abc还有缺,需要补上;如果正好就是这个应有元素,那么看下一个字符即可。维护下一个需要使用到的元素。例如上一个是a,那么下一个就是b。如果上一个是c,那么下一个是a。这题模拟栈即可,不需要真的用,因为一直访问的都是栈顶元素,所以维护一个栈顶指针即可。时间O(n)空间O(1)

2024-01-11 11:43:26 364

原创 DSSW:MAX

这里记录不定长滑窗:最长/最大值题单题解。

2024-01-07 15:00:36 354

原创 Fixed win size sliding window

这篇记录灵神题单中的定长滑窗环节,不跟之前的Sliding Window一起了。

2024-01-06 15:07:22 381

原创 单调栈:General

题面:设计一个算法收集某些股票的每日报价,并返回该股票当日价格的。当日股票价格的被定义为股票价格小于或等于今天价格的最大连续日数(从今天开始往回数,包括今天)。实现price思路分析:现在假设我们先要统计第5天(索引从0开始),也就是价格为75的那一天的跨度。然后统计第6天,也就是价格为85的那一天的跨度。观察一下,可以发现85重复统计了第2到第4天(60,70,60)的数据,但实际上,如果我们明确知道了85≥75时,就可以复用75的统计,也就是自动筛掉(60,70,60)这组数据了。

2024-01-05 09:53:37 927

原创 Differential

之前我有一篇 《差分+前缀和》的学习笔记,记录了差分的思想和基本用法。这里就只记录灵神题单的刷题记录。

2024-01-04 16:09:51 438

原创 大大大模拟

简单来说就是答案就在题面上,题目怎么说就怎么做即可。听起来很简单,做起来很难,很考验码力。想做大模拟的可以去试试csp的T3(一般都是大模拟),非常折磨人,动不动WA了,考验细节。

2024-01-01 00:30:41 396

原创 位运算trick

位运算本质上不是一种算法,而是一种trick,用来节约时间/空间的trick。背后常常有集合论、状态压缩等思想的支撑。这里探讨的位运算指的是其背后的指导思想而不是trick本身。因此对trick本身的证明就略过了。如果想获取位运算的知识图谱,以及集合论的一些基础知识。我在子集状压DP篇收录了相关图片(搬运别人的),可以在该博客找到。

2023-12-31 23:56:25 414

原创 BS:最大化最小值

和最小化最大值是一回事,二分板子。

2023-12-31 12:57:39 375

原创 子集状压DP

本来应该放到DP篇。但由于这个部分灵神单列了题单,我就按题单刷题记录单列一篇。位运算状压应该算是我入门第一个接触到的算法级别的trick。知识图谱也列出来了:因此本篇会略过位运算,仅将其作为工具。主要还是子集DP。

2023-12-30 22:00:49 1560

原创 Depth First Search(Brute Force->Memorized->DP)

整个过程就是暴力搜索→记忆化搜索→DP。

2023-12-30 12:15:04 315

原创 字典树/前缀树(Trie)

直接有道题教板子了。

2023-12-29 17:14:57 341

原创 Sliding Windows

本质为同向双指针。大致来说就是当要统计符合某一性质的区间数量时,可以考虑左右指针选取一个窗口,不停地扩展窗口,边扩展边统计,直至窗口大小达到区间长度上限或窗口不再满足该性质为止。说的再玄没用,看题。

2023-12-29 12:36:44 367

原创 Greedy

贪心本质上是不可能反悔的,这和贪心算法的定义是矛盾的:贪心每次都选取当前的最优解,所以一旦反悔了,被反悔的那次选择就不叫贪心了。但有时候因为题目的特殊性质,在明确了一个贪心算法之后,我们使用数据结构记录下每次的贪心选择,在之后做出贪心选择时查询记录,如果不满足“全局贪心”的结论,就置换贪心选择,称为反悔贪心。

2023-12-25 20:10:28 323

原创 BS:最小化最大值

按照LC的尿性,最小/大化最大/小值,九成九的二分板子。暴搜一定是TLE的。这种题都有单调性质:参数值越xxx,结果越xxx。

2023-12-24 16:42:33 356

原创 Shortest Path

无/有向图,可带负边权。java比较笨,没inf这种标识符。我就用包装类作为边权了,含null。因此特判有点多。dp(k)(i,j)表示从i到j的最短路,这条路径上除了i,j这两个节点,序号最大为k。

2023-12-24 13:21:04 345

原创 Binary Search

我一般喜欢左闭右开,像这样,[lp,rp)因此rp初始化要记得+1,因为取不到的。

2023-12-22 17:19:07 361

原创 前后缀分解

差分+前缀和重在差分,前缀和不过用来还原而已前后缀分解重在区间查询优化。

2023-12-22 16:53:17 297

原创 Computer_Graphics SDU2023 Lab1 Spinning_Pinwheel

山东大学软件学院2023秋计算机图形学实验一

2023-10-20 10:32:08 105 1

原创 Dynamic Programming (DP笔记)

DP笔记

2023-10-15 10:06:17 89 1

原创 Keras-CNN卷积神经网络训练识别手写数字模型

Kares-CNN+Opencv DL入门:识别手写数字

2023-10-10 23:28:49 123 1

原创 差分+前缀和

差分、前缀和概念,实战应用

2023-10-07 17:04:41 57 1

原创 山东大学软件学院2022-2023计组课设

山东大学软件学院2022-2023计组课设

2023-07-18 11:29:32 147 1

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除