【算法】DP

【题解】f1[i]表示第i棵树当前高度能得到的最多果子数

f2[i]表示高度i能得到的最多果子数。

于是有:

f1[j]=max(f1[j],f2[i+delta])+mp[j][i];
f2[i]=max(f2[i],f1[j]);

注意i+delta的范围。

#include<cstdio>
#include<cctype>
#include<algorithm>
using namespace std;
const int maxn=;
int f1[maxn*],f2[maxn*],mp[maxn][maxn],n,h,delta;
int read()
{
char c;int s=;
while(!isdigit(c=getchar()));
do{s=s*+c-'';}while(isdigit(c=getchar()));
return s;
}
int main()
{
n=read(),h=read(),delta=read();
for(int i=;i<=n;i++)
{
int m,k;
m=read();
for(int j=;j<=m;j++)k=read(),mp[i][k]++;
}
for(int i=h;i>;i--)
{
for(int j=;j<=n;j++)
{
f1[j]=max(f1[j],f2[i+delta])+mp[j][i];
f2[i]=max(f2[i],f1[j]);
}
}
printf("%d",f2[]);
return ;
}

最新文章

  1. java工具类
  2. Python 比较两个字符串大小
  3. RichTextBox实现鼠标右键(剪切,复制,粘贴)功能
  4. 对 HTTP 304 的理解
  5. 【CSS学习笔记】CSS初始化
  6. iOS开发之Run Loop
  7. TensorFlow conv2d实现卷积
  8. MongoDB索引限制
  9. shell中的数字
  10. ThinkPHP5从零基础搭建CMS系统(一)
  11. 从壹开始前后端分离[.NetCore] 37 ║JWT完美实现权限与接口的动态分配
  12. linux环境部署python3+django
  13. 比较爬虫用的语言Python与Go
  14. mezzanine的page_menu tag(二)
  15. c#测试执行时间的方法
  16. spark优化:spark.serializer修改序列化方式
  17. Codeforces Round #372 (Div. 1) A. Plus and Square Root 数学题
  18. JDBC驱动程序类型
  19. 项目冲刺Beta第二篇博客
  20. Uedit个人专注

热门文章

  1. sql分页使用join提高性能
  2. .net 内置对象之Session对象和Session的过期时间
  3. 选择正确的C/C++ runtime library
  4. monitor_guiagent
  5. 【刷题】BZOJ 2038 [2009国家集训队]小Z的袜子(hose)
  6. [洛谷P5048][Ynoi2019模拟赛]Yuno loves sqrt technology III
  7. BZOJ5011 &amp; 洛谷4065 &amp; LOJ2275:[JXOI2017]颜色——题解
  8. 洛谷 P1363 幻想迷宫 解题报告
  9. 51nod 1275 连续子段的差异(twopointer+单调队列)
  10. [学习笔记]FFT——快速傅里叶变换