动态规划
大白QQly成长日记
小白自远方来
展开
-
蓝桥模拟-任务序列2
思路:很明显的dp,但是很遗憾,就是不会做。该题的做法个人感觉是最大子序列和的扩展,拓宽到了3维状态。第二维表示当前选的是第几段,第三维标记当前任务是否要取。所以 每个位置遍历三段 dp[i][j][0]=max(dp[i-1][j][0],dp[i-1][j][1]) //当前任务不选继承最值 dp[i][j][1]=max(dp[i][...原创 2019-03-12 19:21:18 · 268 阅读 · 0 评论 -
HDU 6425-Rikka with Badminton(DP/组合数)
In the last semester, Rikka joined the badminton club.There are n students in the badminton club, some of them have rackets, and some of them have balls. Formally, there are a students have neither r...原创 2018-08-22 14:22:31 · 218 阅读 · 0 评论 -
nyoj 17 单调递增最长子序列(LIS模板)
描述求一个字符串的最长递增子序列的长度如:dabdbf最长递增子序列就是abdf,长度为4输入第一行一个整数0<n<20,表示有n个字符串要处理随后的n行,每行有一个字符串,该字符串的长度不会超过10000输出输出字符串的最长递增子序列的长度样例输入3aaaababcabklmncdefg样例输出137思路:这就是一个单纯的LC...原创 2018-08-06 20:40:34 · 188 阅读 · 0 评论 -
石子合并 (经典区间DP)
描述 有N堆石子排成一排,每堆石子有一定的数量。现要将N堆石子并成为一堆。合并的过程只能每次将相邻的两堆石子堆成一堆,每次合并花费的代价为这两堆石子的和,经过N-1次合并后成为一堆。求出总的代价最小值。输入有多组测试数据,输入到文件结束。每组测试数据第一行有一个整数n,表示有n堆石子。接下来的一行有n(0< n <200)个数,分别表示这n堆石子的数目,用空格隔开...原创 2018-08-10 16:55:15 · 830 阅读 · 0 评论 -
2018 ACM上海大都会赛 J-Beautifule Number(数位DP应用)
NIBGNAUK is an odd boy and his taste is strange as well. It seems to him that a positive integer number is beautiful if and only if it is divisible by the sum of its digits.We will not argue with th...原创 2018-08-06 09:58:10 · 300 阅读 · 0 评论 -
nyoj-104 最大和(动态规划)
描述给定一个由整数组成二维矩阵(r*c),现在需要找出它的一个子矩阵,使得这个子矩阵内的所有元素之和最大,并把这个子矩阵称为最大子矩阵。例子:0 -2 -7 09 2 -6 2-4 1 -4 1-1 8 0 -2其最大子矩阵为:9 2-4 1-1 8其元素总和为15。输入第一行输入一个整数n(0<n<=100),表示有n组测试数据;每组测试数据:第...原创 2018-08-10 09:57:19 · 256 阅读 · 0 评论 -
nyoj-16 矩形嵌套(LIS变形)
描述有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套在(3,4)中。你的任务是选出尽可能多的矩形排成一行,使得除最后一个外,每一个矩形都可以嵌套在下一个矩形内。输入第一行是一个正正数N(0<N<...原创 2018-08-09 15:33:43 · 179 阅读 · 0 评论 -
POJ 2229 Sumsets(简单dp)
DescriptionFarmer John commanded his cows to search for different sets of numbers that sum to a given number. The cows use only numbers that are an integer power of 2. Here are the possible sets of ...原创 2018-07-29 19:40:04 · 171 阅读 · 0 评论 -
台阶问题(进阶版)
题目描述有 N 级的台阶,你一开始在底部,每次可以向上迈最多 K 级台阶(最少 1 级),问到达第 N 级台阶有多少种不同方式。输入多组输入,两个正整数N(N ≤ 1000),K(K ≤ 100)。输出一个正整数,为不同方式数,由于答案可能很大,你需要输出 ans mod 100003 后的结果。样例输入5 2样例输出8思路:在各种算法书中都有过举台阶问...原创 2018-07-29 19:21:26 · 1111 阅读 · 0 评论 -
P4141-消失之物(背包)
ftiasch 有 N 个物品, 体积分别是 W1, W2, …, WN。 由于她的疏忽, 第 i 个物品丢失了。 “要使用剩下的 N – 1 物品装满容积为 x 的背包,有几种方法呢?” — 这是经典的问题了。她把答案记为 Count(i, x) ,想要得到所有1 <= i <= N, 1 <= x <= M的 Count(i, x) 表格。输入输出格式输入格...原创 2019-04-22 15:58:55 · 345 阅读 · 0 评论