dp
文章平均质量分 94
dezhonger
这个作者很懒,什么都没留下…
展开
-
四边形不等式优化DP
【代码】四边形不等式优化DP。原创 2023-11-25 22:08:15 · 222 阅读 · 0 评论 -
codeforces 1312E Array Shrinking
给了一组数,每次可以选择两个相邻且相等的数x替换为x+1,问最后能得到的最少的数的个数 区间dp: dp[i][j]表示区间[i,i+1..j]能得到的最少数的个数,f[i][j]表示对应的值是多少,转移方程如下 dp[i][j] =min(dp[i][j],dp[i][k] + dp[k+1][j]) if (dp[i][k] == 1 && dp[k+1]...原创 2020-03-11 21:17:50 · 168 阅读 · 0 评论 -
Leetcode0718
求最长公共连续子数组的长度 dp[i][j]:A数组前i位和B数组前j位的答案 public int findLength(int[] A, int[] B) { int[][] dp = new int[A.length + 1][B.length + 1]; int res = 0; for (int i = 0; i < A...原创 2019-12-25 19:51:07 · 72 阅读 · 0 评论 -
Leetcode877
一堆石子,轮流从两侧拿,假设都是最优选择,先手是否可以胜出(石子个数和为奇数) 使用记忆化搜索/dp:计算一个区间内先手拿比后手拿能多拿的石子个数 具体实现可看代码 public class Leetcode0877 { int[][] d; int[][] v; public boolean stoneGame(int[] piles) { ...原创 2019-12-12 23:56:18 · 91 阅读 · 0 评论 -
Leetcode673
求最长LIS序列的的个数 sol: 刚开始写了个N^3的dp,dp[i][j]以i个数结尾LIS长度为k的个数,然后dp[i][j] += dp[k][j-1] num[k] < num[i],肯定是TLE 了. 其实我们有N^2的dp做法: length[i] 表示第i个数结尾最大的LIS长度,cnt[i]表示以第i个数结尾的这个长度的个数 publi...原创 2019-12-11 23:31:53 · 187 阅读 · 0 评论 -
Leetcode714
给出每天的股票价格和一个交易费用fee,可以进行任意次交易,问最大收益是多少 sol: have[i]: 表示第i天持有股票的时候最大收益 notHave[i]:表示第i不持有股票的最大收益 初始化have[0] = -price[i]; notHave[0] = 0; 转移方程: have[i] = max(notHave[i-1] -price[i], have...原创 2019-12-06 21:12:49 · 150 阅读 · 0 评论 -
Leetcode309
动态规划 buy[i] 第i天买进彩票得到的最多收益 sell[i]第i天卖出彩票得到的最多收益 cool[i] 第i天冷却得到的最多收益 方程和初始值看代码吧 public int maxProfit(int[] prices) { if (prices == null || prices.length == 1) return 0; int...原创 2019-12-04 23:06:38 · 62 阅读 · 0 评论 -
Leetcode1278
给一个字符串,将字符串拆为k个回文字符串,问最少需要修改多少个字符 sol: dp 初始化为每个字符串变为回文串,需要修改的字符串数 for (int len = 1; len <= n; len++) { for (int i = 0; i < n; i++) { int j = i + len -...原创 2019-12-02 00:13:20 · 185 阅读 · 0 评论 -
Leetcode 890
一个N*M的方格,给定起点和终点,其中有一些障碍格子不能走,求从起点到终点,走完所有格子的路径条数。 数据范围N*M <= 20 1、dfs public int uniquePathsIII(int[][] grid) { res = 0; r = grid.length; c = grid[0].length; ...原创 2019-11-29 22:14:25 · 123 阅读 · 0 评论 -
数字游戏 (vijos 1218)
转自:http://blog.csdn.net/power721/article/details/5823710 Description 【问题描述】 丁丁最近沉迷于一个数字游戏之中。这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易。游戏是这样的,在你面前有一圈整数(一共n个),你要按顺序将其分为m个部分,各部分内的数字相加,相加所得的转载 2015-03-21 13:18:23 · 700 阅读 · 0 评论 -
CF 165C dp
给定了一个01串,长度小于10^6 给了一个k值,问有多少个zic原创 2014-10-14 17:23:45 · 437 阅读 · 0 评论 -
CF 256A dp
直接看代码就好了。 题解和注释什么的都很清楚了。原创 2014-10-14 16:05:24 · 572 阅读 · 0 评论 -
CF375B dp
先求出每个数右边有多少个连续的1. 然后,题目说可以cho原创 2014-10-14 15:02:51 · 502 阅读 · 0 评论 -
poj3494
给定一个01矩阵,求出面积最大的1矩阵。 一行一行来,就变成基本的求直方图的最大原创 2014-10-13 22:26:58 · 843 阅读 · 0 评论 -
hdu2955
给定一个被抓的概率p,还有一些银行原创 2014-09-26 03:34:17 · 878 阅读 · 0 评论 -
uva10910
给定N门课程总得分为P,原创 2014-08-09 18:12:53 · 635 阅读 · 0 评论