[BeijingWc2008][BZOJ1270] 雷涛的小猫|动态规划

1270: [BeijingWc2008]雷涛的小猫

Time Limit: 50 Sec  Memory Limit: 162 MB
Submit: 1002  Solved: 481
[Submit][Status][Discuss]

Description

 

Input

Output

Sample Input

Sample Output

8

HINT

Source

唉……第一遍写了个超暴力dp直接跑完了50s。

f1,f2分别表示 高度为i的最大值,当前高度在第i棵上最大值。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>
using namespace std;
int n,h,mx,delta,a[2005][2005],f1[5005],f2[5005];
inline int read()
{
    int a=0,f=1; char c=getchar();
    while (c<‘0‘||c>‘9‘) {if (c==‘-‘) f=-1; c=getchar();}
    while (c>=‘0‘&&c<=‘9‘) {a=a*10+c-‘0‘; c=getchar();}
    return a*f;
}
int main()
{
    n=read(); h=read(); delta=read();
    for (int i=1;i<=n;i++)
    {
        int x=read();
        while (x--)
        {
            int j=read();
            a[i][j]++;
        }
    }
    for (int i=h;i>0;i--)
    {
        int t=(i+delta<=h)?f1[i+delta]:0;
        for (int j=1;j<=n;j++)
        {
            f2[j]=max(f2[j],t)+a[j][i];
            f1[i]=max(f1[i],f2[j]);
        }
    }
    printf("%d",f1[1]);
    return 0;
}
时间: 2024-09-30 06:45:20

[BeijingWc2008][BZOJ1270] 雷涛的小猫|动态规划的相关文章

BZOJ 1270 Beijing Wc 2008 雷涛的小猫 动态规划

题目大意:给出一个棵果树,上面有些地方长了一些果子.现在有一只小猫想去吃这些果子,他从最高处往下跳,每到一个地方可以吧这个地方的果子全吃掉.也可以向旁边的果树上跳.问小猫最多能吃到多少果子. 思路:WC的无脑动规大水题.随便加个小优化就过了.. CODE: #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define MAX 3510 using n

bzoj 1270: [BeijingWc2008]雷涛的小猫 简单dp+滚动数组

1270: [BeijingWc2008]雷涛的小猫 Time Limit: 50 Sec  Memory Limit: 162 MB[Submit][Status][Discuss] Description   Input Output Sample Input Sample Output 8 HINT 思路:保存i+z的max值:上一行的dp值: #include<bits/stdc++.h> using namespace std; #define ll __int64 #define

BZOJ 1270: [BeijingWc2008]雷涛的小猫( dp )

简单的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) ---------------------------------------------------------

入门动态规划 BZOJ 1270 雷涛的小猫

1270: [BeijingWc2008]雷涛的小猫 Time Limit: 50 Sec  Memory Limit: 162 MBSubmit: 1250  Solved: 643[Submit][Status][Discuss] Description   Input Output Sample Input Sample Output 8 HINT 这个题已经水得不能再水了,然而我还是WA了几次 1 #include<iostream> 2 #include<cstdio>

BZOJ_1270_雷涛的小猫_(动态规划)

描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1270 有n棵树,高度为h.一只猫从任意一棵树的树顶开始,每次在同一棵树上下降1,或者跳到其他树上同时下降d.它经过的地方的果子都会被吃掉,求落地前最多吃多少果子. 分析 高度低的位置的值肯定是由高度高的位置更新得来的.在某一位置,有两种可能: 1.是从这个树上下降1到达这里的. 2.是从其他树上跳来的.由于可以从任意树上跳来,所有选之前吃果子最多的树. 用dp1[i][j]表示到达第i棵树,

【BZOJ 1270】 [BeijingWc2008]雷涛的小猫

1270: [BeijingWc2008]雷涛的小猫 Time Limit: 50 Sec  Memory Limit: 162 MB Submit: 956  Solved: 457 [Submit][Status] Description   Input Output Sample Input Sample Output 8 HINT dp+优化. dp方程很好想,f[i][j]表示走到第i个柱子高度为j的地方的能获得的最多柿子. f[i][j]=max(f[i][j-1],f[k][j-d

1270: [BeijingWc2008]雷涛的小猫

1270: [BeijingWc2008]雷涛的小猫 Time Limit: 50 Sec  Memory Limit: 162 MBSubmit: 905  Solved: 430[Submit][Status] Description   Input Output Sample Input Sample Output 8 HINT Source 题解:额..这个嘛...首先声明——此程序在BZOJ上交每次都莫名其妙的RE,但是我要到数据后在window下测评怎么测都没出问题,额,求各位也帮我

upc 9367 雷涛的小猫

问题 B: [动态规划]雷涛的小猫 时间限制: 1 Sec  内存限制: 128 MB提交: 161  解决: 49[提交] [状态] [讨论版] [命题人:admin] 题目描述 雷涛的小猫雷涛同学非常的有爱心,在他的宿舍里,养着一只因为受伤被救助的小猫(当然,这样的行为是违反学生宿舍管理条例的).   在他的照顾下,小猫很快恢复了健康,并且愈发的活泼可爱了.可是有一天,雷涛下课回到寝室,却发现小猫不见了!经过一番寻找,才发现她正趴在阳台上对窗外的柿子树发呆…在北京大学的校园里,有许多柿子树,

NOI题库2454 雷涛的小猫

2454:雷涛的小猫 总时间限制: 20000ms 单个测试点时间限制: 10000ms 内存限制: 65536kB 描述 雷涛同学非常的有爱心,在他的宿舍里,养着一只因为受伤被救助的小猫(当然,这样的行为是违反学生宿舍管理条例的).在他的照顾下,小猫很快恢复了健康,并且愈发的活泼可爱了. 可是有一天,雷涛下课回到寝室,却发现小猫不见了!经过一番寻找,才发现她正趴在阳台上对窗外的柿子树发呆… 在北京大学的校园里,有许多柿子树,在雷涛所在的宿舍楼前,就有N棵.并且这N棵柿子树每棵的高度都是H.冬天