【洛谷P1107】 [BJWC2008]雷涛的小猫
雷涛的小猫
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>
using namespace std;
#define N 2010
inline int read(){
int x=; char c=getchar();
while(c<''||c>'') c=getchar();
while(''<=c&&c<='') { x=(x<<)+(x<<)+c-''; c=getchar(); }
return x;
}
int n,m,k,dp[N][N],M,a[N][N],maxn[N],ans;
int main()
{
scanf("%d%d%d",&n,&m,&k);
int x,y;
for(int i=;i<=n;i++){
x=read();
for(int j=;j<=x;j++){
y=read(); a[i][y]++;
}
}
for(int i=;i<=m;i++){
for(int j=;j<=n;j++){
if(i<k){
dp[j][i]=dp[j][i-]+a[j][i];
maxn[i]=max(maxn[i],dp[j][i]);
continue;
}
dp[j][i]=max(maxn[i-k],dp[j][i-])+a[j][i];
maxn[i]=max(maxn[i],dp[j][i]);
}
}
printf("%d\n",maxn[m]);
return ;
}
【洛谷P1107】 [BJWC2008]雷涛的小猫的更多相关文章
- 洛谷P1107[BJWC2008]雷涛的小猫题解
题目 这个题可以说是一个很基础偏中等的\(DP\)了,很像\(NOIpD1T2\)的难度,所以这个题是很好想的. 简化题意 可以先简化一下题意,这个题由于从上面向下调和从下向上爬都是一样的,所以我们就 ...
- 洛谷P1107 [BJWC2008]雷涛的小猫 题解
题面 以下是luogu给的标签 但字符串是什么鬼.... 玄学... 哦吼~ #include<cstdio> #include<iostream> using namespa ...
- BZOJ1270或洛谷1107 [BJWC2008]雷涛的小猫
BZOJ原题链接 洛谷原题链接 \(DP\)水题. 定义\(f[i][j]\)表示小猫在高度\(i\),位于第\(j\)棵树时最多能吃到的柿子的数量.分为直接往下跳和跳到另一棵树两个决策. 那么很容易 ...
- P1107 [BJWC2008]雷涛的小猫
题目描述 雷涛同学非常的有爱心,在他的宿舍里,养着一只因为受伤被救助的小猫(当然,这样的行为是违反学生宿舍管理条例的).在他的照顾下,小猫很快恢复了健康,并且愈发的活泼可爱了. 可是有一天,雷涛下课回 ...
- 洛谷P1107 & BZOJ1270 [BJWC2008]雷涛的小猫
一道DP. 给你一个矩阵里面有很多数,你需要从上往下找到一种跳跃方法使得经过的点的价值之和最大. 具体题面见链接 洛谷P1107 BZOJ1270 很明显是一个二维的DP. #include<b ...
- BZOJ1270[BJWC2008]雷涛的小猫
雷涛同学非常的有爱心,在他的宿舍里,养着一只因为受伤被救助的小猫(当然,这样的行为是违反学生宿舍管理条例的).在他的照顾下,小猫很快恢复了健康,并且愈发的活泼可爱了. 可是有一天,雷涛下课回到寝室,却 ...
- [BJWC2008]雷涛的小猫 dp
题目背景 原最大整数参见P1012 题目描述 雷涛同学非常的有爱心,在他的宿舍里,养着一只因为受伤被救助的小猫(当然,这样的行为是违反学生宿舍管理条例的).在他的照顾下,小猫很快恢复了健康,并且愈发的 ...
- [BJWC2008]雷涛的小猫
嘟嘟嘟 dp. 刚开始我想的是dp[i][j]表示在第 i 棵树上,高度为h能吃到的最多的果子,如此能得到转移方程: dp[i][j] = max(dp[i][j + 1], dp[k][j + de ...
- [BeijingWc2008]雷涛的小猫
--BZOJ1270 Description 雷涛的小猫雷涛同学非常的有爱心,在他的宿舍里,养着一只因为受伤被救助的小猫(当然,这样的行为是违反学生宿舍管理条例的). 在他的照顾下,小猫很快恢复了健康 ...
随机推荐
- Oracle 数据库和Sql Server数据库的区别
Oracle数据库的访问方式,和SqlServer数据库是有很大差别的,下面用图来说明: 1.Sql Server数据库 SqlServer数据库的访问方式,大致是:假设用户通过sa登录SqlServ ...
- How to install local .deb packages
如何安装本地的.deb包 usually I do dpkg -i <deb file>, it'll fail saying it needs dependencies. After t ...
- oracle中的exists理解
select * from EB where exists (select * from BB where Code=EB.Code) 把select 外层表EB看成是循环的,把每一个值eb.code ...
- sublime的reopen with encoding和reload with encoding区别
首先必需要明白一点,sublime无论以什么编码格式打开文本(以什么编码格式来理解文本文件中的二进制数据),都会把它转为utf-8再显示到屏幕中,这个过程称作解码.其实不当当是sublime,其实任何 ...
- File upload error - unable to create a temporary file
php上传图片的时候会报错: File upload error - unable to create a temporary file 文件上传错误 - 无法创建一个临时文件 你只需要打开你的php ...
- 关于supersocker的数据传输中遇到的问题
最近在学socket,在使用socket时数据的传输与接口都是byte,所以文本与文件的传输只要对传过来的byte处理好就可以. 但是在supersocket上,我却花费了很长的时间.原因如下: 1. ...
- c# 文件名排序
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.C ...
- 使用Razor
新建一个名称为Rezor的mvc空项目,定义一个模型内容 public class Product { //定义模型 public int ProductID { get; set; } public ...
- C#学习笔记4
1.C#只支持单一继承,若想要实现多重继承的效果.有2种方式: 第一种为传递继承,A为基类,B继承A,C继承B,通过传递来增迭要包含的元素,但这种继承的设计,在业务上具有明显的从属关系. 第二种为聚合 ...
- urllib模块的使用
Python3学习笔记(urllib模块的使用) 1.基本方法 urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, ca ...