zoukankan      html  css  js  c++  java
  • 动态规划

    动态规划思想是将前面处理的结果记录下来,供后来的处理过程直接使用

    • 01背包

    有N件物品和一个容量为V的背包。第i件物品的体积是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。

    f[i,v] = max(f[i-1][v], f[i-1][v-c[i]] + w[i])

    答:一开始总是以为f[i-1][v-c[i]] + w[i]求的是i-1的重量+w[i],这样肯定比前面那个大,那max有什么用,原来要减去v-c[i]的容量

    • 爬楼梯

    假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

    每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

    注意:给定 n 是一个正整数。

    答:f(n) = f(n-1) + f(n-2)

    • 最长递增子序列

    给你一个整数数组nums ,找到其中最长严格递增子序列的长度。

    子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。

    答:f(n) = max(f(i<n))+1

    • 不同的子序列

    给定一个字符串s和一个字符串t,计算在s的子序列中t出现的个数。

    字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,"ACE"是"ABCDE"的一个子序列,而"AEC"不是)

    题目数据保证答案符合32位带符号整数范围。

    答:dp[i][j] = dp[i - 1][j - 1] + dp[i][j - 1]

    当遍历到t[i]=s[j]时,即最后一个字符相等,这时有两种情况

    一种是t[i]匹配了s[j],个数相当是dp[i - 1][j - 1]

    二种是t[i]没匹配了s[j],那肯定是匹配了s[j]之前的字符,个数相当是dp[i][j - 1],所有两者相加

    当遍历到t[i]!=s[j]时,t[i]肯定不匹配s[j],所以个数只有dp[i][j - 1]

    • 让字符串成为回文串的最少插入次数

    给你一个字符串s,每一次操作你都可以在字符串的任意位置插入任意字符。

    请你返回让s成为回文串的最少操作次数。

    「回文串」是正读和反读都相同的字符串。

    答:

    dp[i][j] = min(dp[i + 1][j] + 1, dp[i][j - 1] + 1)                     if s[i] != s[j]
    dp[i][j] = min(dp[i + 1][j] + 1, dp[i][j - 1] + 1, dp[i + 1][j - 1])   if s[i] == s[j]

    leetcode

    le ee et tc co od de

    lee eet etc tco cod ode

    leet eetc etco tcod code

    ......

    这题难懂

    • 买卖股票的最佳时机

    给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
    如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。
    注意:你不能在买入股票前卖出股票。

    答:prices[i] - minprice

    • 买卖股票的最佳时机 II

    给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
    设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。
    注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。

    答:

    dp[i][0]=max{dp[i1][0],dp[i1][1]+prices[i]}

    dp[i][1]=max{dp[i1][1],dp[i1][0]prices[i]}

    贪心算法没看懂

    • 打家劫舍

    dp[i]=max(dp[i2]+nums[i],dp[i1])

  • 相关阅读:
    js函数——倒计时模块+无缝滚动
    一步步编写avalon组件02:分页组件
    mvc5+ef6+Bootstrap 项目心得--身份验证和权限管理
    只用css实现“每列四行,加载完一列后数据自动填充到下一列”的效果
    某考试 T1 arg
    vijos 2035 奇数偶数与绚丽多彩的数
    bzoj 5093: [Lydsy1711月赛]图的价值
    [HEOI2016/TJOI2016]求和
    [TJOI2015]概率论
    Codeforces 616 E Sum of Remainders
  • 原文地址:https://www.cnblogs.com/wahgon/p/15605850.html
Copyright © 2011-2022 走看看