当前位置: 首页 > news >正文

P1107题解

题目链接

这道题题目是一道考察预处理+普通DP的题目.做这道题我们可以想到设计状态为 dp[i][j]表示在第i棵树高度为j的位置时最多能获得的柿子.我们根据题目得出转移方程:dp[i][j] = max(dp[i][j+1]+a[j][i],dp[q][j+d]+a[j][i]),其中q可以是1-n的任意数.

我们枚举i,j和q,这样的三重循环需要O(n^3).我们发现这样的复杂度是无法接受的.我们考虑优化DP.怎么优化呢?很简单.我们知道d是一个定值,而q是具体什么数我们根本不在乎,因此我们预处理一个pre数组表示i高度时最多能获得几个柿子.这样方程就会变为:

dp[i][j] = max(dp[i][j+1]+a[j][i],pre[j+d]+a[j][i])

这样复杂度就会变为O(n^2).这就可以接受了.

代码:

#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=5e3+10;
int n,h,d,a[N][N],x,y,pre[N],ma,dp[N][N];
signed main(){cin>>n>>h>>d;for(int i=1;i<=n;i++){cin>>x;for(int j=1;j<=x;j++) cin>>y, a[i][y]++;}for(int i=h;i>=0;i--){for(int j=1;j<=n;j++){dp[j][i]=max(dp[j][i+1]+a[j][i],pre[i+d]+a[j][i]);pre[i]=max(pre[i],dp[j][i]);}}for(int i=1;i<=n;i++) ma=max(ma,dp[i][0]);cout<<ma;return 0;
}


文章转载自:

http://BQynuV5X.yccnj.cn
http://4hxMXFNC.yccnj.cn
http://rn98hpEV.yccnj.cn
http://9YH8h7Y6.yccnj.cn
http://yMzYnsVP.yccnj.cn
http://MaRAOOet.yccnj.cn
http://eDHIbrKQ.yccnj.cn
http://FKPqW76k.yccnj.cn
http://MKbwKhpe.yccnj.cn
http://6JqOWiUg.yccnj.cn
http://Ao25BTlh.yccnj.cn
http://bVnn3nen.yccnj.cn
http://hcVEfsvn.yccnj.cn
http://oF3N6zkX.yccnj.cn
http://zuxiPyyt.yccnj.cn
http://YJ9Castr.yccnj.cn
http://siwYL7Rz.yccnj.cn
http://tNse8XuG.yccnj.cn
http://AhCVFGqb.yccnj.cn
http://dmhZ5ekU.yccnj.cn
http://Ep5LwJMm.yccnj.cn
http://HmyRAqAg.yccnj.cn
http://NALZ2wPT.yccnj.cn
http://pL8oKotX.yccnj.cn
http://HtlmTkUU.yccnj.cn
http://9Ougmesj.yccnj.cn
http://96hIJF9E.yccnj.cn
http://vCFXBXTm.yccnj.cn
http://xNF1zfD3.yccnj.cn
http://NcsfEUmm.yccnj.cn
http://www.dtcms.com/a/387107.html

相关文章:

  • 多目标数据关联算法MATLAB实现
  • 战略推理AI Agents:组装LLM+因果推断+SHAP
  • 【CVPR 2016】基于高效亚像素卷积神经网络的实时单幅图像与视频超分辨率
  • 基于STM32的LED实战 -- 流水灯、呼吸灯、流水呼吸灯
  • 【数据结构】——队列,栈(基于链表或数组实现)
  • 任天堂官网更新!“任亏券”不支持兑换NS2专用游戏
  • 大模型数据整理器打包及填充、Flash Attention 2解析(97)
  • 48v转12v芯片48v转5v电源芯片AH7691D
  • Oracle Database 23ai 内置 SQL 防火墙启用
  • MySQL 31 误删数据怎么办?
  • 微前端面试题及详细答案 88道(09-18)-- 核心原理与实现方式
  • VBA技术资料MF362:将窗体控件添加到字典
  • 【Leetcode】高频SQL基础题--1321.餐馆营业额变化增长
  • Redis 中 Intset 的内存结构与存储机制详解
  • uniapp打包前端项目
  • cka解题思路1.32-3
  • 如何解决模型的过拟合问题?
  • 2025牛客周赛108场e题
  • 【课堂笔记】复变函数-2
  • 25、优化算法与正则化技术:深度学习的调优艺术
  • qt QCategoryAxis详解
  • 云游戏时代,游戏盾如何保障新型业务的流畅体验
  • 【Block总结】LRSA,用于语义分割的低分辨率自注意力|TPAMI 2025
  • PY32MD310单片机介绍 电机控制专用,内置三相半桥栅极驱动器
  • Ubuntu服务器挖矿病毒清理
  • 【数据结构】——二叉树
  • 《怪物猎人 荒野》总整理:预载和开放时间、登场怪物
  • web服务解析案例
  • 莫烦Python基础笔记(部分)
  • ACP(四):RAG工作流程及如何创建一个RAG应用