
算法
文章平均质量分 86
cyz0202
这个作者很懒,什么都没留下…
展开
-
label-bias-problem
参考自:label-bias-problem1label-bias-problem2B站白板推导MEMM-CRF现象描述该问题来自对局部转移概率的归一化;直观地想象状态S的向外转移分支较少时,各分支会得到更多的probability;状态S的向外转移分支虽多,但是其实真实数据中这些转移发生次数都比较少,因为归一化,S的转移概率分布也可能和其他状态的常见转移一样;上述两种现象针对的问题就是,本身从当前状态S向外转移 在数据中并不常见,但是由于S外转分支少,再加上做归一化,就会.原创 2021-07-02 15:10:50 · 455 阅读 · 0 评论 -
子集-组合问题
leetcode39-子集问题leetcode78-组合问题LC39子集问题题目一解法思想:迭代、递归/回溯迭代法:思想是,每增加一个数,新增加的子集跟已有子集关系密切,具体如下令nums=[0,1,2],观察[0,1]增加2后子集的变化nums的子集为[ [ ], [0], [1], [0, 1], [2], [0,2], [1,2], [0,1,2] ]令nums1=[0,1],子集为[ [ ], [0], [1], [0,1] ],与nums子集非黄色部分一样观察n.原创 2021-02-08 12:03:52 · 489 阅读 · 1 评论 -
字符串相乘
来自LeetCode43题目如下普通方法:基于竖式的计算(图片来自breezean答案)优化方法:对竖式计算进行优化,如图(图片来源同上)该方法说的是,num1和num2从左到右index,即左边第一位的index为0,依次类推;num1、num2设分别有N、M位,则乘积结果RES的位数最多是N+M位;如下图所示,如果num1的第i位(index i)乘以num2的第j位(index j),会得到一个至多两位的数,即为ab,a可能为0;而a在RES中的index是第i+j位,b在RES中.原创 2020-12-27 22:25:09 · 160 阅读 · 0 评论 -
接雨水
题目描述题目来自LeetCode解答双指针方法(动态规划方法具体请查看@windliang 这里)基本思想:基于列的计算,即计算所有列的可蓄水值,求和即可;说一下动态规划:每一列的蓄水情况,取决于自身高度,以及左边列最大高度和右边列最大高度(左右最大高度);举例来说,如下图,红色箭头列C3C_3C3自身高度2,左右列最大高度分别是1、3,根据木桶理论,左边列最大高度为1,决定了C3C_3C3可蓄水值;而C3C_3C3本身高度2,比1大,因此C3C_3C3列事实上无法蓄原创 2020-12-24 16:51:17 · 102 阅读 · 0 评论 -
RAG小结
RAGRAG做知识问答,我们所使用的语料、索引建立方式、训练方式,大致的模型参数,以及满足以上我们对GPU运算资源的需求。需求总结-RetrieverGeneratorRAG使用模型DPR(Albert-small)mT5DPR+mT5(fix-ctx)相关参数单元格单元格单元格训练语料网上问诊12万单元格单元格实际占用GPU单元格单元格单元格注:fix-ctx指固定context encoder,不做更新RAG原创 2020-12-07 10:09:29 · 1309 阅读 · 0 评论 -
不同子序列
LeetCode-Problem115-典型的二维动态规划问题,且可转一维1)题目2)分析初步思路:两个子序列问题,通常都是二维及其以上的dp可解;状态分析1:考虑二维dp,定义statestatestate形式为dp[i][j]dp[i][j]dp[i][j],那么dp[i][j]dp[i][j]dp[i][j]的意义呢?dp[i][j]的极端的值(或者说端点)是dp[0][0]dp[0][0]dp[0][0]或者dp[n−1][m−1]dp[n-1][m-1]dp[n−1][m−1],其.原创 2020-06-28 00:02:17 · 907 阅读 · 0 评论 -
动态规划-二维-最长回文子序列
LeetCode-Problem516#较典型的二维动态规划问题1)题目2)分析(参考自@labuladong)最长回文子串解法之一是考虑每个位置i对应字符char_i为回文子串的结尾,利用前面结果(主要是i-1位置的结果)递归求解;最长回文子序列想要按照同样思路去求解就比较麻烦,既然以字符结尾的方法求解遇阻,那么可以考虑区间求解,也是动态规划常见的另一种思路;区间求解即用dp[i][j]dp[i][j]dp[i][j]表示s[i:j]s[i:j]s[i:j](包含jjj,下同)的最长回文子.原创 2020-06-25 16:19:03 · 195 阅读 · 0 评论 -
动态规划-三维-扰乱字符串
LeetCode-Problem87#较典型的三维动态规划问题1) 题目2) 解析(参考自此精选解答)设有两个字符串S和T,S想通过上述扰乱得到T如果len(S) != len(T),或者S/T中有对方没有的字符(如S=ab/T=ac)或者比双方唯一字符集不等(如S=aab/T=aaa,前者唯一字符集[ab],后者[a])如果长度一样,S/T可转换,必有某种切分使得S=S1||S2,T=T1||T2(||表示拼接),且情况一:没交换,S1=>T1 AND S2=>T2情况.原创 2020-06-23 23:04:13 · 302 阅读 · 0 评论 -
异或
题目如下,来自LeetCode主要难点在使用常数空间实现;对于需要在无形中抵消重复数的问题,异或是个利器;异或(此处用^表示)三大特点如下,对任意数值aa⊕0=aa⊕a=0a⊕b⊕a=b⊕a⊕a=b⊕(a⊕a)=b⊕0=b, 即满足交换律和结合律所以解法是:class Solution: def singleNumber(self, nums: List[int]) -> int: # 使用异或:用于处理需要相同数值自动抵消的问题 # .原创 2020-05-15 00:10:15 · 213 阅读 · 0 评论 -
买卖股票的最佳时机IV
题目(from leetcode)给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [2,4,1], k = 2输出: 2解释: 在第 1 天 (股票价格 = 2) 的时候买入,在第 2 天 (股票价格 ...原创 2020-05-07 08:08:08 · 243 阅读 · 0 评论