2024.03.15_学习日记

天气:晴
学习地点:学校
学习时长:12h

学习内容

  1. pytorch学了导入数据集
  2. lc416
    alt text
    这个题用动态规划做,dpij的含义是取前i个值的和能不能=j,返回bool值。如果当前值要大于j-numi,那么就不能选当前值,dpij=dpi-1,j,否则,就看是选或者不选的情况,dpij=dpi-1,j | dpi-1,j-num[i-1],因为numi-1就是第i个值。然后动态压缩要注意,0-1背包问题,动态压缩要注意逆序,因为ij依赖上面和左上方的值,如果正序遍历的话,那么左上方的值会先被计算出来,覆盖掉原本需要的左上方的值,所以要逆序。
  3. lc518
    alt text
    动态规划,这个题是完全背包,不用倒叙。
    alt text
  4. lc72编辑距离
    前面做过很多次了,动态规划,考虑最后一个字符是不是相等,相等的话,就看dp[i-1][j-1],不相等就看让前面i-1或者j-1个相等,然后删掉最后一个字符,或者前面变成一样,最后一个替换,三个的最小值。
  5. lc312
    alt text
    这个题动态规划,要往左右两边加1,这个题dp含义是ij之内,打破气球得到的最大值,不包括ij,所以两边加1,这样dp[0][n+1]就是满足题意。然后当i大于等于j就不满足题意,为0。然后对每一个ij,最后一个选择都是扎破最后一个气球,所以逆向思维就是最后一个扎破i到j的任意一个返回值,最后选最大的。所以dp[i][j] = max(dp[i][j], dp[i][k]+dp[k][j]+nums[k]*nums[i]*nums[j]).
    alt text
  6. 算法题
    alt text
    看当前字符,如果相等dpij=dp[i-1][j-1]+1,不相等就等于两个分别少一个的最大值。
    alt text
  7. 算法题
    alt text
    dp含义就是ij范围内回文子串最大长度,当ij相等就是i+1j-1dp值+2,不相等就是看要i或者要j的dp值哪个更大,初始化就是ij相等时候返回1。