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

-----------------------------------------------------------------------

#include<bits/stdc++.h>
 
using namespace std;
 
const int maxn = 2009;
 
int N, H, delta, cnt[maxn][maxn];
int dp[maxn][maxn], f[maxn], g[maxn][maxn];
 
void init() {
scanf("%d%d%d", &N, &H, &delta);
memset(cnt, 0, sizeof cnt);
for(int i = 0; i < N; i++) {
int t; scanf("%d", &t);
while(t--) {
int h; scanf("%d", &h);
cnt[i][h]++;
}
}
}
 
void work() {
f[H] = 0;
for(int i = 0; i < N; i++)
   f[H] = max(f[H], dp[i][H] = g[i][H] = cnt[i][H]);
for(int h = H; --h; ) {
f[h] = f[h + 1];
   for(int i = 0; i < N; i++) {
    int t = g[i][h + 1];
    g[i][h] = t;
    if(h + delta <= H) t = max(t, f[h + delta]);
    dp[i][h] = t + cnt[i][h];
    f[h] = max(f[h], dp[i][h]);
    g[i][h] = max(g[i][h], dp[i][h]);
   }
}
int ans = 0;
for(int i = 0; i < N; i++)
   ans = max(ans, dp[i][1]);
printf("%d\n", ans);
}
 
int main() {
init();
work();
return 0;
}

-----------------------------------------------------------------------

1270: [BeijingWc2008]雷涛的小猫

Time Limit: 50 Sec  Memory Limit: 162 MB
Submit: 1004  Solved: 483
[Submit][Status][Discuss]

Description

 

Input

Output

Sample Input

Sample Output

8

HINT

Source

最新文章

  1. HDU2438 数学+三分
  2. C# 实现 Snowflake算法 ID生成
  3. js作用域的一个小例子
  4. java新手笔记32 jdk5新特性
  5. Eclipse的下载和安装
  6. 记一次网站服务器迁移(my)
  7. asp.net 错误处理
  8. CentOS 6.4源码编译安装httpd并启动测试
  9. hdu 1384 Intervals
  10. jQuery 查找带有某一属性的元素
  11. 总结微信公众平台网页开发中遇到的ios的兼容问题
  12. apache http添加证书转成https
  13. 【Vue.js】加载更多—vue-infinite-scroll
  14. python与RabbitMQ
  15. HDD ,SSD和PCIE SSD性能测试
  16. php laravel加密 form表单认证 laravel分页
  17. Reinforcement Learning: An Introduction读书笔记(1)--Introduction
  18. [grub2] grub2修改启动顺序
  19. CF891C Envy
  20. nfs挂载无法卸载

热门文章

  1. Nmon的安装及使用
  2. .net format 中 大括号{}处理
  3. 同时安装VS2010,VS2012
  4. Optimistic and Pessimistic locking
  5. 一个Sqrt函数引发的血案(转)
  6. Maven本地
  7. hdoj 2222 Keywords Search(AC自动机)
  8. 使用mongodb存取lbs数据
  9. liquibase之快速入门
  10. exists