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

力扣每日一题(+日常水题|树型dp)

740. 删除并获得点数 - 力扣(LeetCode)

简单分析一下:

每一个数字其实只有2个状态选 or 不

可得预处理每一个数初始状态(不选为0,选为所有x的个数 * x)累加即可

for(auto &x : nums)dp[x][1] += x;

每选一个树 i 删去 i + 1 和 i - 1

故我们可以将 i - 1视为 i 的父节点, i + 1视为 i 的子节点(此时思路就向树形dp经典题"参加舞会"一样如果i节点参与,其子节点和父节点不参与)

可得

 for(int i = 2; i <= n;i++){dp[i][1] += dp[i - 1][0];dp[i][0] += dp[i - 1][1];}

再考虑特殊情况:中间断层 1 5 or 任意不连续数字串 

此时对与5 显然 其没有父节点 和 子节点(无法正常转移)

那么倒退4,我们构建4节点,因为其本身不存在选和不选都不影响最终结果

可得

            if(!dp[i][1]){dp[i][1] = dp[i][0] = mx;continue;}

由于每一个节点的权值大小不同,对于第i个节点为true的时候有特殊情况(即选的权值不如不选的情况)

可得

                dp[i][1] = max(dp[i][1] + dp[i - 1][0], dp[i - 1][1]);dp[i][0] += dp[i - 1][1];

 

由于题目数据范围为

 

故进行转移时只用转移1e4次即可 

//using i64 = int64_t;
class Solution {
public:const int maxn = 1e4 + 10;int dp[10010][2];int deleteAndEarn(vector<int>& nums) {//视为树形dp(easy版)//例如:样例一 == >> 2 3 4//样例二 == >> 4 9 4    memset(dp, 0, sizeof dp);for(auto &x : nums)dp[x][1] += x;int mx = 0;for(int i = 1; i <= 10000; i++){if(!dp[i][1]){dp[i][1] = dp[i][0] = mx;continue;}else{dp[i][1] = max(dp[i][1] + dp[i - 1][0], dp[i - 1][1]);dp[i][0] += dp[i - 1][1];}mx = max({mx,dp[i][1],dp[i][0]});}return max(dp[10000][1], dp[10000][0]);}
};

 时间复杂度:常数级

2251. 花期内花的数目 - 力扣(LeetCode)

  

http://www.lryc.cn/news/178662.html

相关文章:

  • 使用perming加速训练可预测的模型
  • 【数据库】存储引擎InnoDB、MyISAM、关系型数据库和非关系型数据库、如何执行一条SQL等重点知识汇总
  • 车道线分割检测
  • 树莓集团又一力作,打造天府蜂巢成都直播产业园样板工程
  • ubuntu 软件包管理之二制作升级包
  • TCP/IP网络江湖——数据链路层的防御招式(数据链路层下篇:数据链路层的安全问题)
  • ios项目安装hermes-engine太慢问题
  • 构建个人云存储:本地电脑搭建SFTP服务器,开启公网访问,轻松共享与管理个人文件!
  • springboot 下载文件为excel数据,中文自定义单元格宽度
  • 机器学习 面试/笔试题
  • 某企查ymg_ssr列表详情
  • 使用YOLOv5的backbone网络识别图像天气 - P9
  • TikTok海外扩张:亚马逊的新对手崛起
  • CSS详细基础(五)选择器的优先级
  • LLM-TAP随笔——有监督微调【深度学习】【PyTorch】【LLM】
  • kafka伪集群部署,使用docker环境拷贝模式
  • 工业交换机一般的价格是多少呢?
  • QT使用前的知识
  • Unity制作旋转光束
  • 考研王道强化阶段(二轮复习)“算法题”备考打卡表 记录
  • UE4/5数字人MetaHuman通过已有动画进行修改
  • 在Mac M2本地注册GitLab runner
  • 「大数据-2.2」使用命令操作HDFS文件系统
  • 面试买书复习就能进大厂?
  • 使用Http Interface客户端解析text/html类型参数
  • Linux - linux命令进阶
  • 排序篇(一)----插入排序
  • 通俗讲解深度学习轻量网络MobileNet-v1/v2/v3
  • mmpretrain学习笔记
  • rhel8 网络操作学习