动规大法
so_so_y
start to record bugs <- so hard so brave
展开
-
最长公共子序列+最长递增子序列+最长递增公共子序列
//求最长公共子序列int dp[maxn][maxn];int a[maxn],b[maxn];int main(){ int m,n; scanf("%d %d",&m,&n); for(int i=1; i<=m; i++) scanf("%d",&a[i]); for(int i=1; i<=n; i++) scanf("原创 2017-04-11 09:42:20 · 958 阅读 · 0 评论 -
牛客网 TaoTao要吃鸡(01背包)
链接:https://www.nowcoder.com/acm/contest/74/B 来源:牛客网题目描述 Taotao的电脑带不动绝地求生,所以taotao只能去玩pc版的荒野行动了,和绝地求生一样,游戏人物本身可以携带一定重量m的物品,装备背包之后可以多携带h(h为0代表没有装备背包)重量的东西。玩了几天taotao发现了一个BUG,当装备背包之后,如果可携带重量没有满,就可...原创 2018-02-15 17:12:44 · 441 阅读 · 0 评论 -
51nod 1183 编辑距离(dp)
Description编辑距离,又称Levenshtein距离(也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。 例如将kitten一字转成sitting: sitten (k->s) sittin (e->i) sitting (->g) 所以k...原创 2018-02-16 16:55:48 · 148 阅读 · 0 评论 -
51nod 1021 石子归并(区间dp)
DescriptionN堆石子摆成一条线。现要将石子有次序地合并成一堆。规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的代价。计算将N堆石子合并成一堆的最小代价。例如: 1 2 3 4,有不少合并方法 1 2 3 4 => 3 3 4(3) => 6 4(9) => 10(19) 1 2 3 4 => 1 5 4(5) => 1...原创 2018-02-16 17:10:03 · 196 阅读 · 0 评论 -
51nod 1049 1050 1051 (循环数组)最大子段(子矩阵)和(dp)
51nod 1049 最大子段和DescriptionN个整数组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的连续子段和的最大值。当所给的整数均为负数时和为0。 例如:-2,11,-4,13,-5,-2,和最大的子段为:11,-4,13。和为20。Input第1行:整数序列的长度N(2 <= N <= 50...原创 2018-02-16 18:36:19 · 204 阅读 · 0 评论 -
历届试题 格子刷油漆(dp)
问题描述 X国的一段古城墙的顶端可以看成 2*N个格子组成的矩形(如下图所示),现需要把这些格子刷上保护漆。 你可以从任意一个格子刷起,刷完一格,可以移动到和它相邻的格子(对角相邻也算数),但不能移动到较远的格子(因为油漆未干不能踩!) 比如:a d b c e f 就是合格的刷漆顺序。 c e f d a b 是另一种合适的方案。 当已知 N 时,求总的方案数。当N...原创 2018-03-30 21:54:19 · 675 阅读 · 0 评论 -
计蒜客 划分整数(dp)
题目大意蒜头君特别喜欢数学。今天,蒜头君突发奇想:如果想要把一个正整数 n 分解成不多于 k 个正整数相加的形式,那么一共有多少种分解的方式呢?蒜头君觉得这个问题实在是太难了,于是他想让你帮帮忙。输入格式共一行,包含两个整数 n(1 \leq n \leq 300)n(1≤n≤300) 和 k(1 \leq k \leq 300)k(1≤k≤300),含义如题意所示。输出格...原创 2018-03-26 20:01:00 · 449 阅读 · 0 评论 -
51nod 1042 数字0-9的数量(数位dp)
题目描述给出一段区间a-b,统计这个区间内0-9出现的次数。 比如 10-19,1出现11次(10,11,12,13,14,15,16,17,18,19,其中11包括2个1),其余数字各出现1次。Input两个数a,b(1 <= a <= b <= 10^18)Output输出共10行,分别是0-9出现的次数Input示例10 19...原创 2018-04-12 14:53:03 · 294 阅读 · 0 评论 -
Codeforces 958 C2. Encryption (medium)(dp)
DescriptionHeidi has now broken the first level of encryption of the Death Star plans, and is staring at the screen presenting her with the description of the next code she has to enter. It looks su...原创 2018-04-22 21:33:16 · 514 阅读 · 0 评论 -
URAL 2072. Kirill the Gardener 3(dp)
DescriptionKirill the gardener has got a new task. He has to water the flowers growing on the huge flowerbed! It should be mentioned that the bed is very long and narrow at the same time. So from bi...原创 2018-04-30 21:11:19 · 388 阅读 · 0 评论 -
山东省第八届ACM省赛 CF(贪心+01背包)
Problem Description LYD loves codeforces since there are many Russian contests. In an contest lasting for T minutes there are n problems, and for the ith problem you can get ai−di∗ti points, where ...原创 2018-04-24 11:40:58 · 274 阅读 · 0 评论 -
FZU 2214 Knapsack problem(0-1背包转化)
Problem DescriptionGiven a set of n items, each with a weight w[i] and a value v[i], determine a way to choose the items into a knapsack so that the total weight is less than or equal to a given lim...原创 2018-02-15 16:55:33 · 241 阅读 · 0 评论 -
51nod 1086 背包问题 V2 (多重背包二进制优化)
Description有N种物品,每种物品的数量为C1,C2……Cn。从中任选若干件放在容量为W的背包里,每种物品的体积为W1,W2……Wn(Wi为整数),与之相对应的价值为P1,P2……Pn(Pi为整数)。求背包能够容纳的最大价值。Input第1行,2个整数,N和W中间用空格隔开。N为物品的种类,W为背包的容量。(1 <= N <= 100,1 <= W <=...原创 2018-02-15 16:35:58 · 165 阅读 · 0 评论 -
POJ 1384 Piggy-Bank(完全背包)
DescriptionBefore ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main income for this action comes from Irreversibly Bound Money (IBM). The idea beh...原创 2018-02-15 16:06:03 · 218 阅读 · 0 评论 -
打印图形
这是友人A给推的题目,看一眼‘奥这不是很简单’,‘奥好呀你去敲呀’,‘好的这还会很难敲?我敲给你看’,‘嗯……再给我点时间’我一点er都不丢人+智障……接下来:题目大意 1 1 A 2 3 AAA AAA 5 7 AAAAAAA ABBBBBA ABCCCBA ABBBBBA AAAAAAA 4 6 AAAAAA ABBBBA ABBBBA AAAAAA 如上所示原创 2017-03-27 19:49:37 · 529 阅读 · 0 评论 -
POJ 2955 Brackets & POJ 1505 Copying Books & POJ 1651 Multiplication Puzzle(初级区间DP)
POJ 2955 Brackets题目大意在给定字符串中有多少个可匹配括号,()和[]为可匹配。解题思路dp[i][j]代表i~j有多少个可匹配的字符串。 转移方程: 1、dp[i][j]=dp[i+1][j-1]+2,当i,j位置组成可匹配括号; 2、枚举分割点k (i<=k<j)(i<=k<j) :dp[i][j]=max(dp[i][j],dp[i][k]+dp[k+1][j])代码实原创 2017-08-26 21:35:52 · 232 阅读 · 0 评论 -
POJ 2923 Relocation(状压DP+01背包)
DescriptionEmma and Eric are moving to their new house they bought after returning from their honeymoon. Fortunately, they have a few friends helping them relocate. To move the furniture, they only hav原创 2017-09-05 11:17:05 · 224 阅读 · 0 评论 -
HDU 2089 不要62 & HDU 3652 B-number(初级数位DP)
HDU 2089 不要62解题思路dp[len][mark]中 len 代表当前处理的数位,mark 标记上一位的数字是否为6。代码实现#include<iostream>#include<cstdio>#include<cstring>using namespace std;#define maxn 10int dp[maxn][2],num[maxn];int dfs(int len原创 2017-08-28 20:04:10 · 268 阅读 · 0 评论 -
Codeforces Round #436 (Div. 2) E. Fire
DescriptionPolycarp is in really serious trouble — his house is on fire! It’s time to save the most valuable items. Polycarp estimated that it would take ti seconds to save i-th item. In addition, for原创 2017-10-02 21:57:59 · 528 阅读 · 0 评论 -
51nod 1705 七星剑(期望DP)
Description夹克村附近来了一个大魔王,为了保护村民们的安全,夹老爷选出勇士准备去消灭这个大魔王。为了提高勇士的战斗力,夹克老爷决定出资为这个勇士打造一把神兵——七星剑。要打造一把七星剑,得在剑上镶嵌7颗魔法石,在夹克村中一共找到N种不同的魔法石,标号为1,2,3..,N,每种魔法石都有很多个,其中,第i种魔法石售价为C(i)夹克币。打造七星剑需要将魔法石一颗一颗的炼化上去,每成功炼化一次称原创 2017-10-31 17:38:54 · 409 阅读 · 0 评论 -
hihocoder第158周非法二进制数(dp)
描述如果一个二进制数包含连续的两个1,我们就称这个二进制数是非法的。小Hi想知道在所有 n 位二进制数(一共有2n个)中,非法二进制数有多少个。例如对于 n = 3,有 011, 110, 111 三个非法二进制数。由于结果可能很大,你只需要输出模109+7的余数。输入一个整数 n (1 ≤ n ≤ 100)。输出n 位非法二进制数的数目模109+7的余原创 2017-07-10 19:04:55 · 625 阅读 · 0 评论 -
POJ 3254 Corn Fields(状压DP)
DescriptionFarmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ M ≤ 12; 1 ≤ N ≤ 12) square parcels. He wants to grow some yummy corn for the cows on a number of squares.原创 2017-09-02 22:39:10 · 208 阅读 · 0 评论 -
codeforces 621 E. Wet Shark and Blocks(dp+矩阵快速幂)
DescriptionThere are b blocks of digits. Each one consisting of the same n digits, which are given to you in the input. Wet Shark must choose exactly one digit from each block and concatenate all of...原创 2018-02-27 17:19:30 · 315 阅读 · 0 评论 -
蓝桥杯 算法训练 结点选择 (树形动态规划)
问题描述有一棵 n 个节点的树,树上每个节点都有一个正整数权值。如果一个点被选择了,那么在树上和它相邻的点都不能被选择。求选出的点的权值和最大是多少?输入格式第一行包含一个整数 n 。 接下来的一行包含 n 个正整数,第 i 个正整数代表点 i 的权值。 接下来一共 n-1 行,每行描述树上的一条边。输出格式输出一个整数,代表选出的点的权值和的最大值。样例输...原创 2018-02-15 15:35:53 · 528 阅读 · 0 评论 -
山东省第七届ACM省赛 Feed the monkey(dp)
Problem DescriptionAlice has a monkey, she must feed fruit to the monkey every day.She has three kinds of fruits, bananas, peaches and apples. Every day, she chooses one in three, and pick one of ...原创 2018-04-26 10:28:08 · 241 阅读 · 0 评论