Zecheng's Blog

New post every day (with probability 0.000000003).

保研机试训练Day-32

随机训练

LeetCode 2444. 统计定界子数组的数目 给你一个整数数组 nums 和两个整数 minK 以及 maxK 。 nums 的定界子数组是满足下述条件的一个子数组: 子数组中的 最小值 等于 minK 。 子数组中的 最大值 等于 maxK 。 返回定界子数组的数目。 子数组是数组中的一个连续部分。 思路 双指针算法,每次固定右边去计算有多少个合法的左端点。...

保研机试训练Day-31

Huffman树 && 排序不等式 && 绝对值不等式 && 推公式

Huffman树 合并果子 在一个果园里,达达已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。 达达决定把所有的果子合成一堆。 每一次合并,达达可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。 可以看出,所有的果子经过 n−1 次合并之后,就只剩下一堆了。 达达在合并果子时总共消耗的体力等于每次合并所耗体力之和。 因为还要花大力气把这些果子搬回家,所以...

保研机试训练Day-30

贪心

贪心 区间选点 给定 N 个闭区间 [ai,bi],请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。 输出选择的点的最小数量。位于区间端点上的点也算作区间内。 #include<iostream> #include<algorithm> using namespace std; const int N = 100010; int n; st...

保研机试训练Day-29

状态压缩DP && 树形DP && 记忆化搜索 && 数位统计DP

状态压缩DP 最短Hamilton路径 给定一张 n 个点的带权无向图,点从 0∼n−1 标号,求起点 0 到终点 n−1 的最短 Hamilton 路径。 Hamilton 路径的定义是从 0 到 n−1 不重不漏地经过每个点恰好一次。 #include<iostream> #include<algorithm> #include<cstring>...

科研Day-03

GPT简要实现

GPT GPT简介 GPT(Generative Pre-trained Transformer)基于Transformer解码器自回归地预测下一个Token,从而进行了语言模型的建模。显然这里的GPT是基于transformer的一个Decoder-based模型。 GPT适用于生成任务(自回归语言模型,任务更难但潜力更大), BERT适合判别。 GPT的输入是一些由整数表示的文本...

科研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 堆,代...