dp
文章平均质量分 67
阿.荣.
勿弃
展开
-
leetcode 629. K个逆序对数组【dp】
思路:引用一篇不错的推导。由于dp[n, k] 仅由dp[n-1, …] 和 dp[n, …] 转移而来,因此可以对动态规划使用的空间进行优化,即使用两个一维数组交替地进行状态转移,空间复杂度从O(nk)降低为O(k).用dp[j] 表示当前数字i 构成j个逆序对。时间复杂度O(nk).code:class Solution: def kInversePairs(self, n: int, k: int) -> int: mod = int(1e9) + 7原创 2021-11-12 12:38:46 · 113 阅读 · 0 评论 -
codeforce 789 C. Functions again (最大字段和)
C. Functions againtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputSomething happened in Uzhlyandia again...原创 2017-03-30 22:19:56 · 528 阅读 · 0 评论 -
hdoj 1466 计算直线的交点数 (几何 DP)
计算直线的交点数Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 9799 Accepted Submission(s): 4468Problem Description平面上有n条直线,且无三线共点,问原创 2017-03-12 18:11:20 · 395 阅读 · 0 评论 -
51nod 1202 子序列个数 (组合数学 +动态规划)
1202 子序列个数题目来源: 福州大学 OJ基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注子序列的定义:对于一个序列a=a[1],a[2],......a[n]。则非空序列a'=a[p1],a[p2]......a[pm]为a的一个子序列,其中1例如4,14,2,3和14,1,原创 2017-03-05 20:11:52 · 429 阅读 · 0 评论 -
51Nod 1051 最大子矩阵和 (最大子段和变形)
1051 最大子矩阵和基准时间限制:2 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注一个M*N的矩阵,找到此矩阵的一个子矩阵,并且这个子矩阵的元素的和是最大的,输出这个最大的值。例如:3*3的矩阵:-1 3 -12 -1 3-3 1 2和最大的子矩阵是:3原创 2017-03-04 16:27:40 · 2273 阅读 · 0 评论 -
51Nod 1050 循环数组最大子段和 (最大字段和)
1050 循环数组最大子段和N个整数组成的循环序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的连续的子段和的最大值(循环序列是指n个数围成一个圈,因此需要考虑a[n-1],a[n],a[1],a[2]这样的序列)。当所给的整数均为负数时和为0。例如:-2,11,-4,13,-5,-2,和最大的子段为:11,-4,13。和为20。原创 2017-03-04 13:22:19 · 1112 阅读 · 0 评论 -
codeforces 777C. Alyona and Spreadsheet (DP)
C. Alyona and Spreadsheettime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputDuring the lesson small girl Alyon原创 2017-02-27 18:14:35 · 444 阅读 · 0 评论 -
hdoj 2571 命运 (DP)
命运Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 16985 Accepted Submission(s): 5930Problem Description穿过幽谷意味着离大魔王lemon已经无限接近原创 2016-09-24 20:53:58 · 304 阅读 · 0 评论 -
codefprces 706C C. Hard problem (动态规划)
C. Hard problemtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputVasiliy is fond of solving different tasks.原创 2016-08-13 08:48:08 · 723 阅读 · 0 评论 -
hdoj 1069
Monkey and BananaTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 12768 Accepted Submission(s): 6691Problem DescriptionA group of原创 2016-08-09 21:35:29 · 402 阅读 · 0 评论 -
hdoj 1559 最大子矩阵 [dp]
最大子矩阵Time Limit: 30000/10000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4171 Accepted Submission(s): 2178Problem Description给你一个m×n的整数矩阵,在上面找一个x×y原创 2016-08-09 19:51:14 · 336 阅读 · 0 评论 -
zzulioj 1894: 985的方格难题 [dp]
1894: 985的方格难题Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 397 Solved: 87SubmitStatusWeb BoardDescription985走入了一个n * n的方格地图,他已经知道其中有一个格子是坏的。现在他要从(1, 1)走到(n, n),每次只可以向下或者向右走一步,问他能否原创 2016-08-09 18:37:53 · 236 阅读 · 0 评论 -
openjudge 开餐馆 【动态规划】
Description北大信息学院的同学小明毕业之后打算创业开餐馆.现在共有n 个地点可供选择。小明打算从中选择合适的位置开设一些餐馆。这 n 个地点排列在同一条直线上。我们用一个整数序列m1, m2, ... mn 来表示他们的相对位置。由于地段关系,开餐馆的利润会有所不同。我们用pi 表示在mi 处开餐馆的利润。为了避免自己的餐馆的内部竞争,餐馆之间的距离必须大于k。请你帮助小明选择一原创 2016-07-31 17:26:24 · 2221 阅读 · 0 评论 -
ACM 数塔 (基础)
D - 数塔Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmit StatusDescription在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过原创 2016-03-10 17:37:01 · 632 阅读 · 0 评论 -
acm Max Sum (diyidao)
C - Max SumTime Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmit StatusDescriptionGiven a sequence a[1],a[2],a[3]......a[n], your job is to calculate the原创 2016-03-08 17:33:14 · 446 阅读 · 0 评论 -
hdoj 2059 龟兔赛跑 【dp】
龟兔赛跑Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 15860 Accepted Submission(s): 5939Problem Description据说在很久很久以前,可怜的兔子经历了人生原创 2016-07-17 22:26:45 · 477 阅读 · 0 评论