
dp
文章平均质量分 70
v5zsq
新的一天,新的不会
展开
-
POJ 1088 滑雪(dp+递归)
Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23原创 2015-06-20 16:02:54 · 919 阅读 · 0 评论 -
POJ 1163 The Triangle(dp)
Description 给出一个数字三角形,从三角形顶部数字走,每次只能走到这个数字的左下角或者右下角的数字,直到底部,计算走过的线路的数字之和,求这个和的最大值 Input 第一行为三角形的高度n(nOutput 从三角形顶部走到底部走过的路线的最大数字和 Sample Input 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 Sample outp原创 2015-08-23 15:00:35 · 478 阅读 · 0 评论 -
POJ 1260 && HDU 1300 Pearls(dp)
Description 要买若干种价值的珍珠,但买某种珍珠必须多付10颗此种珍珠的价钱,及如果买价值为1的珍珠100颗,必须付的钱数为110。一颗珍珠可以用比它贵的珍珠充数,因此买多种珍珠的时候用贵的代替便宜的可能更省钱。输入要买的若干种珍珠,可用高价珍珠充数的条件下,问最少需要花费多少钱 Input 第一行为t表示数据组数,每组用例第一行一个整数为珍珠种数c(1Output 对于每组用原创 2015-08-24 09:10:21 · 525 阅读 · 0 评论 -
POJ 2231 Moo Volume(dp)
Description 给定n个数字,问任意两数之间的差的总和是多少 Input 第一行为数列长度n(1Output 输出任意两数差值总和 Sample Input 5 1 5 3 2 4 Sample Output 40 Solution 先从小到大排序,然后dp转移方程: dp[i]=dp[i-1] + i*(a[i]-a[i-1]) 最后结果是ans=(d原创 2015-08-27 09:13:01 · 575 阅读 · 0 评论 -
POJ 1080 && HDU 1080 Human Gene Functions(dp)
Description 给定两组DNA序列,要你求出它们的最大相似度 每个字母与其他字母或自身和空格对应都有一个打分,求在这两个字符串中插入空格,让这两个字符串的匹配分数最大 Input T组用例,每组用例两个DNA长度(不超过100)及其序列 Output 对于每组用例,输出两个DNA序列的最大匹配分数 Sample Input 2 7 AGTGA原创 2015-08-23 13:55:26 · 607 阅读 · 0 评论 -
POJ 3176 Cow Bowling(dp)
Description 金字塔形的保龄球中从顶往下撞击,每次只能撞击左下或右下两个,求所有撞到得分的最高值 Input 第一行为金字塔高n,之后第i行有i个整数表示金字塔各部分的分数 Output 输出得分最大值 Sample Input 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 Sample Output 30 Solution 用dp[i]原创 2015-08-30 08:37:28 · 664 阅读 · 0 评论 -
HDU 2604 Queuing(dp+矩阵快速幂)
Description l个人排队,f表示女,m表示男,包含子串‘fmf’和‘fff’的序列为O队列,否则为E队列,有多少个序列为E队列,结果模m Input 多组输入,每组用例占一行包括两个整数l和m分别表示队列长度和模数,以文件尾结束输入 Output 对于每组用例,输出E队列的数量(结果模m) Sample Input 3 8 4 7 4 8 Sample Output原创 2015-09-02 14:11:43 · 626 阅读 · 0 评论 -
HDU 1466 计算直线的交点数(dp)
Description 平面上有n条直线,且无三线共点,问这些直线能有多少种不同交点数。 比如,如果n=2,则可能的交点数量为0(平行)或者1(不平行)。 Input 输入数据包含多个测试实例,每个测试实例占一行,每行包含一个正整数n(nOutput 每个测试实例对应一行输出,从小到大列出所有相交方案,其中每个数为可能的交点数,每行的整数之间用一个空格隔开。 Sample Input原创 2015-09-04 08:31:30 · 772 阅读 · 0 评论 -
HDU 2296 Ring(AC自动机+dp)
Description 有m个a-z构成的模式串(mInput 第一行为一个整数T表示用例组数,每组用例第一行为两个整数n和m表示目标串串长上限以及模式串个数,之后m行每行一个模式串,最后一行m个数分别表示这m个模式串的权值 Output 对于每组用例,构造出满足条件的串 Sample Input 2 7 2 love ever 5 5 5 1 ab 5 Sample原创 2015-08-14 11:10:44 · 528 阅读 · 0 评论 -
HDU 1087 Super Jumping! Jumping! Jumping!(dp)
Description 有一排棋子,每枚棋子有一个得分,玩家每次只能从左往右跳而且每次只能跳比当前棋子分数大的棋子上去,问最后玩家能够得到的最高分是多少 Input 多组输入,每组用例占一行包括棋子个数n和n枚棋子的得分,以n=0结束输入 Output 对于每组用例,输出玩家最后能够得到的最高分数 Sample Input 3 1 3 2 4 1 2 3 4 4 3 3 2 1原创 2015-09-05 23:11:24 · 481 阅读 · 0 评论 -
HDU 2018 母牛的故事(dp)
Description 有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛? Input 输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0 Output 对于每个测试实例,输出在第n年的时候母牛的数量,每个输出占一行 Sample Input 2 4 5 0 Sample Outp原创 2015-09-07 08:32:55 · 513 阅读 · 0 评论 -
HDU 3336 Count the string(kmp+dp)
Description 给定一字符串,求它所有的前缀出现的次数的和 Input 第一行为用例组数T,对于每组用例第一行为字符串长度n,第二行为一个字符串 Output 对于每组用例,输出该字符串所有的前缀出现的次数的和 Sample Input 1 4 abab Sample Output 6 Solution 直接暴力枚举所有前缀显然会超时,那么只有从动态规划的角度来考原创 2015-09-08 08:38:06 · 628 阅读 · 0 评论 -
HDU 2032 杨辉三角(dp)
Description 还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 Input 输入数据包含多个测试实例,每个测试实例的输入只包含一个正整数n(1Output 对应于每一个输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开,每一个杨辉三角后面原创 2015-09-08 08:33:32 · 848 阅读 · 0 评论 -
HDU 2041 超级楼梯(dp)
Description 有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法? Input 输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1Output 对于每个测试实例,请输出不同走法的数量 Sample Input 2 2 3 Sample Output 1 2 Solution 经典dp,原创 2015-09-08 08:35:39 · 762 阅读 · 0 评论 -
HDU 2512 一卡通大冒险(dp)
Description 因为长期钻研算法, 无暇顾及个人问题,BUAA ACM/ICPC 训练小组的帅哥们大部分都是单身。某天,他们在机房商量一个绝妙的计划”一卡通大冒险”。这个计划是由wf最先提出来的,计划的内容是,把自己的联系方式写在校园一卡通的背面,然后故意将自己的卡”遗失”在某处(如水房,TD,食堂,主M。。。。)他们希望能有MM看到他们遗失卡,能主动跟他们联系,这样就有机会请MM吃饭了。原创 2015-10-03 10:08:45 · 1500 阅读 · 0 评论 -
HDU 2524 矩形A + B(dp)
Description 给你一个高为n ,宽为m列的网格,计算出这个网格中有多少个矩形 Input 第一行输入一个t, 表示有t组数据,然后每行输入n,m,分别表示网格的高和宽 ( n < 100 , m < 100). Output 每行输出网格中有多少个矩形 Sample Input 2 1 2 2 4 Sample Output 3 30 Solution 由于矩形原创 2015-10-03 10:59:09 · 505 阅读 · 0 评论 -
HDU 1619 Unidirectional TSP(dp)
Description 现在有一个 m * n 的整数矩阵,请你编写一个程序计算出一条从左到右穿过矩阵的路径,并使此路径的费用最小。路径从矩阵的左侧的第一列的任意单元格开始,逐步穿过矩阵到达最右侧的一列的任意单元格。每一步是指从某单元格进入它一列的相邻单元格(如下图,可以是横向或斜向)。矩阵的第一行和最后一行实际是相邻的,你可以想象矩阵是包裹在一个横放的圆柱体外面。 路径的花费是指这条路径所原创 2015-10-03 13:52:10 · 1250 阅读 · 0 评论 -
HDU 2501 Tiling_easy version(dp)
Description 有一个大小是 2 x n 的网格,现在需要用2种规格的骨牌铺满,骨牌规格分别是 2 x 1 和 2 x 2,请计算一共有多少种铺设的方法。 Input 输入的第一行包含一个正整数T(TOutput 输出一共有多少种铺设的方法,每组数据的输出占一行。 Sample Input 3 2 8 12 Sample Output 3 171 2731 S原创 2015-10-04 09:15:15 · 479 阅读 · 0 评论 -
HDU 1208 Pascal's Travels(dp)
Description 给出一个n*n矩阵,一个人从左上角出发每次只能向下或者向右跳其所在格的元素值(不能跳出矩阵),问其到达右下角的方法数 Input 多组用例,每组用例第一行为矩阵行列数n(4 <= n <= 34),之后为一n*n矩阵,以n=-1结束输入 Output 对于每组用例,输出从左上角到右下角的方法数 Sample Input 4 2331 1213 1231原创 2015-12-30 13:29:07 · 390 阅读 · 0 评论 -
POJ 3017 Cut the Sequence(dp+单调队列)
Description 给出一个长度为n的序列,要求将这个序列划分成若干块,使得每块的和不超过m,且每块的最大值之和最小 Input 第一行为两个整数n和m分别表示序列长度和划分块的和上限,之后n个整数表示这个序列 Output 输出各块最大值之和的最小值,如果不存在满足条件的划分方案则输出-1 Sample Input 8 17 2 2 2 8 1 8 2 1 Sample Ou原创 2016-01-05 17:37:24 · 933 阅读 · 0 评论 -
POJ 2626 Chess(dp)
Description 给出多个选手下黑白子的能力,先要从中选出15人下黑子,15人下白子,欲使这30人能力和最大,输出这个最大能力值 Input 一组用例,每行两个整数分别表示一名选手下黑白子的能力,以文件尾结束输入 Output 输出选出的30的能力和最大值 Sample Input 87 84 66 78 86 94 93 87 72 100 78 63 60 91原创 2016-02-12 14:08:38 · 699 阅读 · 0 评论 -
HDU 5119 Happy Matt Friends(dp)
Description 给出n个整数,问从中选取任意数量的数做异或和结果不小于m的方法数 Input 第一行为一整数T表示用例组数,每组用例第一行为两个整数n和m,第二行n个整数ai(1<=n<=40,0<=m<=10^6,0<=ai<=10^6) Output 对于每组用例,输出从这n个数中选取任意数量的数做异或和结果不小于m的方法数 Sample Input 2 3 2 1 2原创 2016-04-02 10:17:53 · 547 阅读 · 0 评论 -
CodeForces 615 B. Longtail Hedgehog(dp)
Description 给一张n个点m条边的无向图,对于一条点编号递增的链,设其链未点的度为degree,链长为len,那么这条链的美丽值为beauty=len*degree,问这张图上所有编号递增的链中的最大美丽值 Input 第一行为两个整数n和m表示点数和边数,之后m行每行两个整数u和v表示这张图上u点和v点间有边,保证无重边无自环(2<=n<=100000,1<=m<=200000)原创 2016-02-26 16:47:14 · 546 阅读 · 0 评论 -
CodeForces 611 C. New Year and Domino(dp+容斥)
Description 一个只有’.’和’#’组成的h*w的图,一根木棍需要放在两个连续的’.’上,现在有n次查询,每次查询点[r1,c1]到[r2,c2]的矩形区域中有多少种放木棍的方法 Input 第一行两个整数h和w表示矩形行列数,之后为一h*w矩阵,然后是一整数n表示查询数,最后n行每行四个整数r1,c1,r2,c2表示查询区间(1<=h,w<=500,1<=r1<=r2<=h,1<=原创 2016-02-27 18:51:46 · 602 阅读 · 0 评论 -
CodeForces 607 A. Chain Reaction(dp)
Description 在一条直线上坐落着不同位置的灯塔,每一个灯塔有自己的射程范围。现在从最右边的灯塔开始激发,如果左边的灯塔在这个灯塔的范围之内,那么将会被毁灭,否则会被激发,留下自己。现在可以从右边放置一个灯塔,位置和射程范围都可以自己定义,问各种情况中最小的灯塔被毁灭的数量。 Input 第一行为一整数n表示灯塔数量,之后n行每行两个整数a和b分别表示该灯塔的位置和射程范围,保证不存在原创 2016-02-29 22:01:19 · 811 阅读 · 0 评论 -
POJ 3249 Test for Job(拓扑排序+dp)
Description 给出一张有向图,每个点有点权,现要从一条入度为0的点到一个出度为0的点,问最大点权和 Input 第一行两个整数n和m分别表示点数和边数,之后n行每行一个整数表示该点点权,最后m行每行两个整数a和b表示点a到点b有一条有向边 (1<=n<=1000000,0<=m<=1000000) Output 输出从一条入度为0的点到一个出度为0的点的最大点权和 Sampl原创 2016-03-15 11:12:58 · 1193 阅读 · 0 评论 -
SGU 104 Little shop of flowers(dp)
Description 有f束花和v和花瓶,不同的花插在不同的花瓶有不同的观赏度,先给出观赏度矩阵,问如何插花能使得观赏度最大 Input 第一行两个整数f和v表示花的束数和花瓶个数,之后一f*v矩阵A表示观赏度矩阵,A[i][j]表示第i束花插在第j个花瓶中带来的观赏度(1<=f<=v<=100,-50<=A[i][j]<=50) Output 输出最大的总观赏度以及满足最大观赏度的一种原创 2016-04-14 09:03:40 · 559 阅读 · 0 评论 -
SGU 116 Index of super-prime(数论+dp)
Description 定义超级素数:n是素数且n在素数序列中的位置也是素数,先给出一整数n,问n是否能够被表示成几个超级素数的和,如果可以则输出最少的超级素数数量然后从小到大输出这几个素数,否则输出0 Input 一个不超过10000的整数n Output 如果n能够被表示成几个超级素数的和则第一行输出组成n的最少的超级素数的数量,第二行升序输出这几个超级素数,否则输出0 Sample原创 2016-04-14 19:17:01 · 862 阅读 · 0 评论 -
SGU 135 Drawing Lines(dp)
Description 一张纸切n次最多会被分成几部分 Input 一个整数n(0<=n<=65535) Output 输出一张纸被切n次最多会被分成几部分 Sample Input 0 Sample Output 1 Solution 简单dp,设dp[i]为一张纸被切i次最多会被分成几部分,那么第i+1次至多和前i次都相交,也就是说会在dp[i]的基础上切出i+1部分,故有原创 2016-04-15 11:43:05 · 543 阅读 · 0 评论 -
HDU 4552 怪盗基德的挑战书(kmp+dp)
Description 求一个字符串的所有前缀在串中出现的次数之和 Input 多组用例,每组用例占一行为一个长度不超过100000的字符串,以文件尾结束输入 Output 对于每组用例,输出该字符串的所有前缀在串中出现的次数之和,结果模256 Sample Input aaa abab Sample Output 6 6 Solution 首先我们知道next数组中nex原创 2016-05-03 15:45:30 · 1077 阅读 · 6 评论 -
POJ 2663 && HDU 1143 Tri Tiling(dp)
Description 用1*2的骨牌放满3*n的矩形有多少种方法 Input 多组用例,每组用例占一行为一整数n,以-1结束输入(0<=n<=30) Output 对于每组用例,输出方法数 Sample Input 2 8 12 -1 Sample Output 3 153 2131 Solution 用dp[n]表示放满前n列的方案数,n为奇数时显然没有合法方案,原创 2016-03-31 10:50:19 · 906 阅读 · 0 评论 -
HDU 5729 Rigid Frameworks(组合数学+dp)
Description 矩形是不稳定的,会变成平行四边形,但是可以在矩形对角线加边使这个矩形稳定下来。给一个n*m的矩形,可以在格里加两种对角线(主对角线或斜对角线),或者不加对角线,问使这个n*m的矩形稳定下来的方案数 Input 多组用例,每组用例占一行为两个整数n和m,以文件尾结束输入(1<=n,m<=10) Output 对于每组用例,输出使这个n*m矩形稳定下来的方案数,结果模1原创 2016-07-25 14:48:39 · 752 阅读 · 0 评论 -
POJ 1191 && HDU 2517 棋盘分割(dp)
Description 将一个8*8的棋盘进行如下分割:将原棋盘割下一块矩形棋盘并使剩下部分也是矩形,再将剩下的部分继续如此分割,这样割了(n-1)次后,连同最后剩下的矩形棋盘共有n块矩形棋盘。(每次切割都只能沿着棋盘格子的边进行) 原棋盘上每一格有一个分值,一块矩形棋盘的总分为其所含各格分值之和。现在需要把棋盘按上述规则分割成n块矩形棋盘,并使各矩形棋盘总分的均方差最小。 均方差,原创 2015-06-21 09:42:41 · 886 阅读 · 0 评论 -
CodeForces 611 D. New Year and Ancient Prophecy(dp)
Description 给出一个长度为n的数字串,要求将这个数字串拆成一些无前置零的子串,使得这些子串所表示的数字是严格递增的,问有多少种拆分方法 Input 第一行为一整数n表示数字串长度,之后为一数字串(1<=n<=5000) Output 输出拆分方案,结果模1e9+7 Sample Input 6 123434 Sample Output 8 Solution 以dp原创 2016-02-27 20:16:02 · 590 阅读 · 0 评论 -
HDU 5616 Jam's balance(dp)
Description Jam有N个砝码和一个没有游标的天平,现在给他(1≤N≤20)个砝码,砝码可以放左边,也可以放右边,问可不可以测出所问的重量, 问的个数为(1≤M≤100)个. Input 第一行T(1≤T≤5),表示T组数据。 接下来T组数据: 接下来第一行一个数N,表示砝码个数。 接下来第二行N个数,表示砝码们的重量(1≤wi≤100)。 接下来第三行一个数M,表示询问个原创 2016-08-04 10:19:57 · 591 阅读 · 0 评论 -
HDU 5617 Jam's maze(dp)
Description Jam走进了一个迷宫,他要想走出这个迷宫,必须找到一条路径,使得这条路径是回文的,当然他可不屑于去走出这个迷宫,聪明的他一定要找出有多少种方案走出这个迷宫。在一个N*N大小的迷宫,这个迷宫全由大写字母组成,他会从左上角走到右下角,然后把所有经过的字符连成一个串,当然只能往下和往右走,问有多少种方案可以走出来,当然答案会很大,所以答案和5201314取模输出 Input原创 2016-08-04 10:34:58 · 534 阅读 · 0 评论 -
HDU 5622 KK's Chemical(dp+组合数学)
Description 我们可爱的KK有一道困难的化学题目:实验室有N(1≤N≤100)瓶化学药品,编号为0到N-1,现在KK知道第i瓶当且仅当和第c[i]瓶放在一起时会发生爆炸。KK得到任务要整理实验室,他需要将他们装进k个不同的盒子里。显然,为了KK的生命安全,你不能把两瓶会造成爆炸的药品放进同一个箱子。现在KK想知道有多少种不同的方案。由于答案可能会非常非常的大,所有将最后答案取1e9+7的原创 2016-08-04 18:14:30 · 633 阅读 · 1 评论 -
HDU 5623 KK's Number(dp)
Description 我们可爱的KK有一个有趣的数学游戏:这个游戏需要两个人,有(1≤N≤5∗10^4 )个数,每次KK都会先拿数。每次可以拿任意多个数,直到N个数被拿完。每次获得的得分为取的数中的最小值,KK和对手的策略都是尽可能使得自己的得分减去对手的得分更大。在这样的情况下,最终KK的得分减去对手的得分会是多少? Input 第一行一个数T(1≤T≤10),表示数据组数。 对于原创 2016-08-04 18:23:11 · 399 阅读 · 0 评论 -
CodeForces 698 A. Vacations(dp)
Description 小明有n天假期,每天可以编程和运动,也可以休息,只有有编程作业的时候才能编程,体育馆开的时候才能运动,但小明不会连续两天编程或运动,现在给出n天每天的状态,问小明最少休息多少天 Input 第一行一个整数n表示假期天数,第二行n个整数(0,1,2,3)表示每天的状态 0.体育馆关门,没有编程作业 1.体育馆关门,有编程作业 2.体育馆开门,没有编程作业 3.体育原创 2016-08-01 18:49:54 · 424 阅读 · 0 评论 -
POJ 1037 A decorative fence(dp)
Description 给定长度依次为1到n的木棒n个, 摆放规则为除了两边的木棒,剩下的木棒必须要比相邻的两个都高或者都低,求字典序第c小的序列 Input 第一行一整数T表示用例组数,每组用例两个整数n,c(T<=100,N<=20) Output 对于每组用例,输出所有合法序列中字典序第c小的序列 Sample Input 2 2 1 3 3 Sample Output原创 2016-08-02 19:17:57 · 738 阅读 · 0 评论