Zecheng's Blog

New post every day (with probability 0.000000003).

科研Day-03

RAG

RAG 为什么会有RAG 随着ChatGPT、文心一言、通义千问、LLama系列等大模型的广泛应用,各行业尝试将其引入业务流程。这些模型在知识、理解和推理方面展现了卓越的能力,在复杂交互场景中表现尤为突出。 然而,这些模型仍然存在一些无法忽视的局限性。其中,领域知识缺乏是最明显的问题。大模型的知识来源于训练数据,这些数据主要来自公开的互联网和开源数据集,无法覆盖特定领域或高度专业化的内...

保研机试训练Day-28

数位DP && 状态压缩DP

数位DP 计数问题 给定两个整数 a 和 b,求 a 和 b 之间的所有数字中 0∼9 的出现次数。 例如,a=1024,b=1032,则 a 和 b 之间共有 9 个数如下: 1024 1025 1026 1027 1028 1029 1030 1031 1032 其中 0 出现 10 次,1 出现 10 次,2 出现 7 次,3 出现 3 次等等… #include<b...

科研Day-02

LoRA

LoRA LoRA定义 LoRA: Low-Rank Adaptation 论文里面的介绍是这样的:LoRA allows us to train some dense layers in a neural network indirectly by optimizing rank decomposition matrices of the dense layers’ change du...

保研机试训练Day-27

线性DP && 计数类DP

线性DP 最短编辑距离 给定两个字符串 A 和 B,现在要将 A 经过若干操作变为 B,可进行的操作有: 删除–将字符串 A 中的某个字符删除。 插入–在字符串 A 的某个位置插入某个字符。 替换–将字符串 A 中的某个字符替换为另一个字符。 现在请你求出,将 A 变为 B 至少需要进行多少次操作。 #include<bits/stdc++.h> usi...

保研机试训练Day-26

区间DP && 线性DP

区间DP 石子合并 设有 N 堆石子排成一排,其编号为 1,2,3,…,N。 每堆石子有一定的质量,可以用一个整数来描述,现在要将这 N 堆石子合并成为一堆。 每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的顺序不同,合并的总代价也不相同。 例如有 4 堆石子分别为 1 3 5 2, 我们可以先合并 1、2 堆,代...

保研机试训练Day-25

线性DP

线性DP 数字三角形 给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 #include<iostream> #inc...

保研机试训练Day-24

DP

DP 多重背包问题 I 有 N 种物品和一个容量是 V 的背包。 第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。 输出最大价值。 版本1 二维 #include<iostream> #include<algorithm> using namespace std; ...

科研Day-01

RAG

RAG RAG定义 RAG(Retrieval-Augmented Generation,检索增强生成) 是一种结合了信息检索技术与语言生成模型的人工智能技术。该技术通过从外部知识库中检索相关信息,并将其作为提示(Prompt)输入给大型语言模型(LLMs) ,以增强模型处理知识密集型任务的能力,如问答、文本摘要、内容生成等。 检索:检索是RAG流程的第一步,从预先建...

保研机试训练Day-23

数论 && Nim游戏 && DP

数论 高斯消元解异或线性方程组 输入一个包含 n 个方程 n 个未知数的异或线性方程组。 方程组中的系数和常数为 0 或 1,每个未知数的取值也为 0 或 1。 求解这个方程组。 异或线性方程组示例如下: M[1][1]x[1] ^ M[1][2]x[2] ^ … ^ M[1][n]x[n] = B[1] M[2][1]x[1] ^ M[2][2]x[2] ^ … ^ M[2][...

保研机试训练Day-22

卡特兰数 && 容斥原理 && 博弈论

数论 卡特兰数 给定 n 个 0 和 n 个 1,它们将按照某种顺序排成长度为 2n 的序列,求它们能排列成的所有序列中,能够满足任意前缀序列中 0 的个数都不少于 1 的个数的序列有多少个。 输出的答案对 10^9+7 取模。 #include<iostream> #include<algorithm> using namespace std; typed...