[BJWC2008]雷涛的小猫 dp】的更多相关文章

题目背景 原最大整数参见P1012 题目描述 雷涛同学非常的有爱心,在他的宿舍里,养着一只因为受伤被救助的小猫(当然,这样的行为是违反学生宿舍管理条例的).在他的照顾下,小猫很快恢复了健康,并且愈发的活泼可爱了. 可是有一天,雷涛下课回到寝室,却发现小猫不见了!经过一番寻找,才发现她正趴在阳台上对窗外的柿子树发呆… 在北京大学的校园里,有许多柿子树,在雷涛所在的宿舍楼前,就有N棵.并且这N棵柿子树每棵的高度都是H.冬天的寒冷渐渐笼罩了大地,树上的叶子渐渐掉光了,只剩下一个个黄澄澄的柿子,看着非常…
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1270 比较水的一道dp f1[i]为高度为i的时候的最大值 f2[i]为当前高度在第i棵树上的最大值 //bzoj1270 雷涛的小猫 dp #include<bits/stdc++.h> using namespace std; ],f2[]; ][]; int n,h,d; int main(){ scanf("%d%d%d",&n,&h,&am…
简单的dp.. dp(i,j) = max(dp(x,y))+cnt[i][j], (x,y)->(i,j)是合法路径. 设f(i)= max(dp(x,y))(1≤x≤N, 1≤y≤i), g(i,j) = max(dp(i, k))(1≤k≤j) 那么dp(i,j) =  max(f(j+delta), g(i,j+1))+cnt[i][j]. 递推即可. 时间复杂度O(NH) ---------------------------------------------------------…
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1270 题目大意: 雷涛的小猫雷涛同学非常的有爱心,在他的宿舍里,养着一只因为受伤被救助的小猫(当然,这样的行为是违反学生宿舍管理条例的).  在他的照顾下,小猫很快恢复了健康,并且愈发的活泼可爱了.可是有一天,雷涛下课回到寝室,却发现小猫不见了!经过一番寻找,才发现她正趴在阳台上对窗外的柿子树发呆…在北京大学的校园里,有许多柿子树,在雷涛所在的宿舍楼前,就有N棵.并且这N棵柿子树每棵…
题目描述 雷涛同学非常的有爱心,在他的宿舍里,养着一只因为受伤被救助的小猫(当然,这样的行为是违反学生宿舍管理条例的).在他的照顾下,小猫很快恢复了健康,并且愈发的活泼可爱了. 可是有一天,雷涛下课回到寝室,却发现小猫不见了!经过一番寻找,才发现她正趴在阳台上对窗外的柿子树发呆… 在北京大学的校园里,有许多柿子树,在雷涛所在的宿舍楼前,就有N棵.并且这N棵柿子树每棵的高度都是H.冬天的寒冷渐渐笼罩了大地,树上的叶子渐渐掉光了,只剩下一个个黄澄澄的柿子,看着非常喜人.而雷涛的小猫恰好非常的爱吃柿子…
雷涛的小猫 题目链接 n^2DP比较好想, f[i][j]表示第i棵树高度为j的最大收益 直接从上到下转移即可,每次记录下max f[1~n][j] 用于下面的转移 f[i][j]=max(f[i][j-1],max(f[1~n][j-Delta])) max(f[1~n][j-Delta])是已经求出来的,O(1)查询 枚举j和i,总复杂度为O(n^2) #include<iostream> #include<cstring> #include<cstdio> usi…
雷涛同学非常的有爱心,在他的宿舍里,养着一只因为受伤被救助的小猫(当然,这样的行为是违反学生宿舍管理条例的).在他的照顾下,小猫很快恢复了健康,并且愈发的活泼可爱了. 可是有一天,雷涛下课回到寝室,却发现小猫不见了!经过一番寻找,才发现她正趴在阳台上对窗外的柿子树发呆- 在北京大学的校园里,有许多柿子树,在雷涛所在的宿舍楼前,就有N棵.并且这N棵柿子树每棵的高度都是H.冬天的寒冷渐渐笼罩了大地,树上的叶子渐渐掉光了,只剩下一个个黄澄澄的柿子,看着非常喜人.而雷涛的小猫恰好非常的爱吃柿子,看着窗外…
这个题的原始方法谁都会,但是n^3会T.之后直接优化,特别简单,就是每次处理出来每层的最大值,而不用枚举.之前没这么做是因为觉得在同一棵树的时候没有下落,所以不能用这个方法.后来想明白了,在同一棵树上的时候,一步步爬一定好于跳跃.然后就没什么了. 题干: Description 雷涛的小猫雷涛同学非常的有爱心,在他的宿舍里,养着一只因为受伤被救助的小猫(当然,这样的行为是违反学 生宿舍管理条例的). 在他的照顾下,小猫很快恢复了健康,并且愈发的活泼可爱了.可是有一天,雷涛下课回 到寝室,却发现小…
BZOJ原题链接 洛谷原题链接 \(DP\)水题. 定义\(f[i][j]\)表示小猫在高度\(i\),位于第\(j\)棵树时最多能吃到的柿子的数量.分为直接往下跳和跳到另一棵树两个决策. 那么很容易写出状态转移方程: \[f[i][j] = \max \{ f[i + 1][j], f[i + Delta][k] \} + T[j][i]\] 注意到时间复杂度为\(O(n ^ 3)\),太高.发现对于第二个决策,针对的高度都是相同的,再开一个数组记录每一高度下最多能吃到的柿子的数量,\(DP\…
Description   Input Output Sample Input Sample Output 8 HINT Source 唉这么蠢的Dp没一下子看出来,Dp真是太弱了啦. #include <iostream> #include <cstdio> #include <cstring> #include <cmath> using namespace std; ],eat[][],f2[]; int n,h,d; int read() { ;ch…