首页 > 编程语言 >41天【代码随想录算法训练营34期】第九章 动态规划part03 (● 343. 整数拆分 ● 96.不同的二叉搜索树 )

41天【代码随想录算法训练营34期】第九章 动态规划part03 (● 343. 整数拆分 ● 96.不同的二叉搜索树 )

时间:2024-04-29 17:22:53浏览次数:18  
标签:int part03 随想录 34 range 343 二叉 dp 96

343. 整数拆分

class Solution:
    def integerBreak(self, n: int) -> int:
        dp = [0] * (n+1)
        dp[2] = 1

        for i in range(3, n+1):
            for j in range(1, i//2+1):
                dp[i] = max(dp[i], (i-j)*j, dp[i-j]*j)
        
        return dp[-1]

96.不同的二叉搜索树

class Solution:
    def numTrees(self, n: int) -> int:
        dp = [0]*(n+1)
        dp[0] = 1

        for i in range(1, n+1):
            for j in range(i+1):
                dp[i] += dp[i-j] * dp[j-1]
        return dp[-1]

标签:int,part03,随想录,34,range,343,二叉,dp,96
From: https://www.cnblogs.com/miramira/p/18166308

相关文章

  • 39天【代码随想录算法训练营34期】第九章 动态规划part02(● 62.不同路径 ● 63. 不同
    62.不同路径classSolution:defuniquePaths(self,m:int,n:int)->int:table=[[0]*n]*mforxinrange(n):table[0][x]=1foryinrange(m):table[y][0]=1foryinrange(1,m):......
  • Chrome插件开发1234
    Chrome插件开发(一) 作为一个开发人员,我们在日常工作中肯定会用到Chrome浏览器,同时也会用到谷歌的一些插件,比如Tampermonkey,AdBlock等,在之前的文章本人还用过Tampermonkey插件,好使又好玩,传送门 https://www.cnblogs.com/weijiutao/p/11677932.html,https://www.cnblogs.......
  • Django32session登录验证操作33缓存操作34分页操作
    Django32session登录验证操作33缓存操作34分页操作 Django笔记三十二之session登录验证操作 合集-Django笔记(19) 1.Django笔记二十四之数据库函数之比较和转换函数2023-04-182.Django笔记二十五之数据库函数之日期函数2023-04-193.Django笔记二十六之数据库函数之......
  • 38天【代码随想录算法训练营34期】第九章 动态规划part01 (● 理论基础 ● 509. 斐波
    理论基础斐波那契数classSolution:deffib(self,n:int)->int:ifn==0:return0ifn==1:return1returnself.fib(n-1)+self.fib(n-2)爬楼梯classSolution:defclimbStairs(self,n:int)->i......
  • [atcoder 349] [F - Subsequence LCM]
    SOSDP学习笔记Linkhere:代码:importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.math.BigInteger;importjava.util.*;publicclassMain{staticintn;staticlongm;staticlong[]a;......
  • ABC347B Substring
    题目描述给你一个由小写英文字母组成的字符串S,S有多少个不同的非空子串?子串是连续的子序列。例如,xxx是yxxxy的子串,但不是xxyxx的子串。数据范围:S是长度在1和100之间(含)的字符串,由小写英文字母组成。题解我认为这道题放在普及组的话,非常适合放在第一题和第二题之间,......
  • 36天【代码随想录算法训练营34期】第八章 贪心算法 part05( ● 435. 无重叠区间 ● 7
    435.无重叠区间classSolution:deferaseOverlapIntervals(self,intervals:List[List[int]])->int:count=0intervals.sort(key=lambdax:x[0])foriinrange(1,len(intervals)):ifintervals[i][0]<intervals[i-......
  • [ABC343G] Compress Strings
    题目链接:https://www.luogu.com.cn/problem/AT_abc343_gsolution:1.首先我们将给出的字符串中互相包含的消去,可以使用kmp求前后缀来完成。和这道题的写法一样https://www.luogu.com.cn/problem/CF1200E2.我们发现给出的字符串最多只有20个,考虑状压来求解所有可能3.我们注意到这......
  • abc340E题解
    题目描述样例input:5312345240output:04272算法1(树状数组)$O(nlogn)$本题我们可以看作对于每一个查询位置x我们都需要先把该位置上的所有球拿出来,然后再一个一个的放到对应位置上去。假设x位置上面有y个球,那么对于这y个球,如果大于n,那么就对所有的位置放y......
  • CF1634F Fibonacci Additions
    Statement:给出两个长度为\(n\)的序列\(a,b\),每次在\(a\)或\(b\)上\([l,r]\)操作,一次操作将会使\([l,r]\)中的数分别加上\(fib[1],fib[2]...,fib[r-l+1]\),每次操作完询问\(a,b\)是否在模\(mod\)意义下相等。Solution:先简化问题,令\(c_i=a_i-b_i\),问题......