自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 车间流水线调度算法——模拟退火

【代码】车间流水线调度算法——模拟退火。

2023-12-11 10:17:37 495 1

原创 Continual learning of context-dependent processing in neural networks

OWM本质是一种正则化方法,是在新的学习任务与旧的学习任务之间的一个平衡,因为总的模型复杂度是固定的所以在学习新任务的时候用来保存旧的学习的知识的资源是固定的有上限的。假设所有学习任务的样本数据是一个输入空间,则在一个新的学习任务时,将误差都到已经学过的那部分数据所在的子空间,那么投影后的误差用来更新网络参数时不影响这么参数在已完成的学习任务的应用。深度神经网络能够学习出输入输出之间的复杂的映射规则,但是这个规则是固定的,不能够学习出多种场景下的不同的映射规则并根据场景的采用这些规则。

2023-10-04 18:15:46 108 1

原创 《A Survey of Large Language Models》notes

与自然语言生成不同,生成的代码可以通过相应的编译器或解释器执行来直接检查,现有的工作主要通过计算测试用例的通过率来评估LLM生成代码的质量,即pass@k. (给定 LLM 生成的 k 个程序,当至少一个程序通过所有测试用例时,pass@k 计算为 1,否则0)大型语言模型(LLM):在大型的PLM的基础上,其通常会表现出和一般的PLM不同的性能,在任务上展现出不同的能力。基于统计的过滤:可以利用语料库的统计特征,例如标点分布、符号与词语的比率以及句子长度,来衡量文本的质量,并过滤低质量的数据。

2023-09-15 16:14:18 189

原创 01背包问题

如果取当前物品,前提是背包容量j要大于或等于当前物品体积v[i-1],此时最大价值是当前物品的价值加上前i-1个物品放入剩余容量j-v[i-1]的背包的最大价值,即dp[i-1][j-v[i-1]] + w[i-1]。解释:这个问题的关键思想是动态规划(DP)。在0-1背包问题中,动态规划的核心思想是用一个二维数组dp[i][j]来表示前i个物品中选择一些放入一个最大容量为j的背包所能得到的最大价值。如果不取当前物品,那么最大价值就是前i-1个物品放入容量为j的背包的最大价值,即dp[i-1][j]。

2023-06-14 01:18:59 64

原创 子矩阵的和

通过构建和利用前缀和数组,我们可以在常数时间复杂度内计算任意子矩阵的和,而不需要每次都重新遍历矩阵。这在处理大型矩阵和多个询问时非常高效。的子矩阵的和,即矩阵中的所有元素的和。这次的题目就是利用前缀和思想来优化计算子矩阵和的过程。首先,我们构建一个与输入矩阵大小相同的前缀和数组。可能有很多朋友到这感觉稍微抽象,不能直接的理解。在上一篇的文章中,我们已经介绍了前缀和。Q:为什么能这样计算前缀和呢?现在,我们可以使用前缀和数组。来计算任意子矩阵的和。的子矩阵的和为 21。,然后使用前缀和数组。

2023-05-11 23:40:08 357

原创 前缀和算法

通过计算前缀和,我们可以在 O(1) 的时间内得到任意子序列的和,而不需要每次都重新遍历子序列的元素。在计算前缀和时,我们通过迭代遍历数组并累加当前元素,将累加的结果存储在一个新的数组中。新数组中的每个元素表示原数组从开头到当前位置的元素的和。数组中使用了从下标 1 开始的索引,而不是常见的从下标 0 开始的索引。前缀和是一种常用的预处理技巧,用于快速计算数组中某个位置之前(包括该位置)的元素的和。在迭代遍历原数组时,我们累加当前元素并更新前缀和数组中的对应位置。为了方便计算,我们在。

2023-05-11 23:39:45 39

原创 数的三次方根

梯度下降法思想:(就是机器学习里的GD,但是没有learning rate)

2023-05-11 23:38:20 242

原创 高精度减法

我们先比较两个数的大小,如果被减数比减数小,就将它们交换,并输出一个负号。然后按照普通的减法运算方法,从低位到高位逐位相减,注意在每一位的计算过程中需要加上上一位的借位。最后要去掉结果中的前导0。高精度减法与高精度加法类似,只不过在减法的过程中需要考虑被减数与减数的大小关系,以确定结果是否为负数。表示上一位的借位,初始值为0,每次减法计算时,先减去上一位的借位。最后,还需要注意,当结果中存在前导0时,需要将其去掉。最后将当前位的结果加入到结果数组。小于0,则说明需要向高位借位,此时将。,再减去当前位的值。

2023-05-11 23:37:29 44

原创 算法:数的范围

第一次查找是为了找到元素k的起始位置,通过不断更新左右边界来逼近目标位置。如果当前中间位置的元素大于等于k,则将右边界更新为mid-1,否则将左边界更新为mid+1。如果当前中间位置的元素小于等于k,则将左边界更新为mid+1,否则将右边界更新为mid-1。二分查找的时间复杂度为O(logn),其中n为数组的长度。通过二分法,可以快速找到目标元素在数组中的位置。这样就可以实现在升序排列的数组中使用二分法查找指定元素的起始位置和终止位置。最后,将起始位置和终止位置分别作为函数的返回值,输出到标准输出流中。

2023-05-11 23:36:43 29

原创 高精度加法

【代码】高精度加法。

2023-05-11 23:36:31 35

原创 求逆序对算法

A:在归并排序的过程中,当合并左右两个有序数组时,如果左数组中的某个元素。Q:为什么可以统计统计逆序对数量为 mid - i + 1?的元素都是满足逆序对条件的。因此,逆序对的数量就是。因为左右数组都是有序的,所以可以推断左数组中。在归并排序的合并过程中,当将。大于右数组中的某个元素。及其之后的元素都大于。放入临时数组时,此时。

2023-05-11 23:34:41 99 1

原创 归并排序算法

归并排序的核心思想是分治法,通过不断将数列分成较小的子序列,然后再将这些子序列按顺序合并成一个有序的数列。在每一层的合并操作中,通过双指针的方式比较和合并两个有序的子序列。A:当进行归并合并操作时,我们有两个已排序的子序列,分别位于左半部分和右半部分。每次合并操作都能保证将两个有序子序列合并成一个有序序列,直到最后完成整个数列的排序。归并排序的合并操作是稳定的,即在比较两个元素相等时,我们会优先选择左半部分的元素,这样可以保持相等元素的相对顺序不变。

2023-05-11 23:33:44 40 1

原创 第k个数算法

最后,将基准值放到正确的位置,即将基准值与指针 r 所指的元素交换,这样就完成了一次分区操作。基于快速排序的分治思想。根据分区的结果,可以确定基准值的位置,如果基准值的位置恰好是第 k 个位置,那么它就是第 k 个最小数;此时,右指针 r 左侧的元素都小于基准值,右指针 r 右侧的元素都大于等于基准值。这里的分区操作是基于快速排序的思想,将小于基准值的元素放在基准值的左侧,大于基准值的元素放在基准值的右侧。此时,可以将基准值放到正确的位置上,即将基准值与指针 r 所指的元素交换,这样就完成了一次分区操作。

2023-05-11 23:32:56 61 1

原创 快速排序算法

否则,我们选择一个基准元素 pivot(这里选取中间的元素作为基准),将区间分为左右两个子区间,使左区间中的所有元素都小于等于基准元素,右区间中的所有元素都大于等于基准元素。具体而言,我们先从左端开始找到一个大于等于基准元素的元素,再从右端开始找到一个小于等于基准元素的元素,然后将它们交换,直到 i 和 j 相遇。具体而言,将待排序数组不断地分成两个子序列,使左子序列中的所有元素都小于等于右子序列中的元素,然后对左、右子序列分别进行递归排序,最终得到一个有序的序列。

2023-05-11 23:30:15 63 1

空空如也

空空如也

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

TA关注的人

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