首页 > 其他分享 >NOIP2024集训Day36 DP优化

NOIP2024集训Day36 DP优化

时间:2024-09-23 22:12:04浏览次数:1  
标签:le limits Day36 max 线段 times lt DP NOIP2024

NOIP2024集训Day36 DP优化


A. [NOIP2023] 天天爱打卡

前段时间才看过这道题。dp + 线段树优化 + 离散化。经典。

考虑朴素 dp。定义 \(f_i\) 表示考虑到第 \(i\) 个位置,并钦定第 \(i\) 天跑步的最大能量值。

枚举最后一段跑步时间,有:\(f_i = \max(\max\limits_{k\lt j} f_k - (i - j) \times d + \sum\limits_{j\lt l_p \le r_p \le i} v_p)\)。

假设 \(g_i = \max\limits_{j\lt i} f_i\),参变分离,有:\(f_i = \max(g_j + j\times d + \sum\limits_{j\lt l_p \le r_p \le i} v_p) - i\times d\),

秩序维护前面的最大值即可。考虑线段树优化。

对于 \(g_j + j\times d\) 是定值,直接在线段树末尾插入即可。后面的部分可以在枚举的过程中不断把 \(r_p = i\) 的线段加入,也就是区间加。具体地说,对于每一个 \([l_i, r_i]\),给所有 \(j\lt l_i\) 加入 \(v_i\),表示若走满 \([j + 1, i]\) 可以取到该线段。

考虑优化。可以发现 \(f\) 序列会分成很多段。这些线段的左右端点把整个序列分为多段,观察每一段的决策,对于 \([l,r]\) 段,一定只有都跑和都不跑两种情况。考虑选每段的右端点作为该段的代表元。于是对于每个线段,我们只保留 \(l_i−1\) 与 \(r_i\) 两个端点即可,离散化完之后转移同样。

复杂度 \(\Theta(m\log m)\)。

标签:le,limits,Day36,max,线段,times,lt,DP,NOIP2024
From: https://www.cnblogs.com/Leirt/p/18428025

相关文章

  • roslaunch carla_ros_bridge carla_ros_bridge.launch运行报错逐条解决REQUIREDproces
    前言:跟着自动驾驶之心的老师学习仿真,在carla_ros_bridge那块卡住了,遇到了超多问题,现在看看我们是怎么解决的吧。首先是carla_ros_bridge安装,老师是18.04,我的项目工程是20.04,所以我肯定最终还是要换到20.04的,所以以下就是踩坑。一.carla_ros_bridge安装:可见官网的文档ROSbri......
  • 初识DPDK
    初识DPDK背景DPDK(DataPlaneDevelopmentKit)DPDK最初是为了证明intel处理器能够应对高性能的网络数据包而提出的以Linux为例子,网卡收包流程概述如下1、网络数据包通过网线到达网卡2、网卡通过DMA将数据写入内存3、网卡发起中断通知CPU数据到达内存4、驱动读取数......
  • 基于DPU的OpenStack裸金属服务快速部署及存储解决方案
    1方案背景和挑战Openstack作为开源云计算领域的领军项目,凭借其强大的功能、灵活的架构以及活跃的社区支持,在全球范围内得到了广泛的采用。通过Openstack,企业和云服务提供商可以更加高效地管理和利用计算资源、存储资源和网络资源,实现业务的快速部署和灵活扩展,从而赢得市场竞争的先......
  • 动态dp
    动态DP从一道简单的问题说起有一个长度为\(n\)的序列\(a_i\),每个数可以选或者不选,但相邻两个数不能同时选,最大化选出的数的和。有一个简单的\(dp\),设\(f_{i,0/1}\)表示前\(i\)个数,第\(i\)个数是否选了的最大价值,转移时\(f_{i,1}=f_{i-1,0}+a_i\)\(f_{i,0}=\max(......
  • 【题解】Solution Set - NOIP2024集训Day36 dp 优化 + 状态设计
    【题解】SolutionSet-NOIP2024集训Day36dp优化+状态设计https://www.becoder.com.cn/contest/5550最后一题较难。「NOIP2023」天天爱打卡考虑dp。\(f_{i,j}\):前\(i\)天,到第\(i\)天为止连续打卡\(j\)天。有转移:\[f_{i,0}=\max(f_{i,j})\\f_{i,j}=\max(f_{i......
  • windows下UDP端口测试
    1、下载netcat下载地址:https://eternallybored.org/misc/netcat/2、安装netcat解压之后,把安装包配置到环境变量中去3、UDP端口测试 4、需要注意的问题 ......
  • 访问WordPress网站提示“建立数据库连接时出错”或者“Error establishing a database
    当访问WordPress网站时出现“建立数据库连接时出错”或“Errorestablishingadatabaseconnection”的提示时,这通常表示WordPress无法成功连接到数据库。以下是几个可能的原因及解决方法:原因数据库连接信息错误:WordPress配置文件中的数据库连接信息(如用户名、密码、主机名)不......
  • wordpress网站维护教程:不能上传文件,数据库报错的解决方法
    当WordPress网站遇到不能上传文件或数据库报错的问题时,这可能会影响网站的正常使用。下面分别针对这两种情况提供一些可能的解决方法。不能上传文件权限问题:检查上传文件的目标目录权限是否正确。通常,WordPress的上传目录(默认为/wp-content/uploads/)应该具有可写的权限。你......
  • 如何处理WordPress网站提示“建立数据库连接时出错”或“Error establishing a databa
    解决WordPress网站“建立数据库连接时出错”或“Errorestablishingadatabaseconnection”问题当您在浏览器中访问WordPress网站时,可能会遇到以下错误提示:“建立数据库连接时出错”“Errorestablishingadatabaseconnection”这通常表示WordPress无法正常连接到MySQL......
  • Wordpress独立站数据库连接错误的三种解决方式
    当遇到WordPress独立站出现“数据库连接错误”时,可以按照以下步骤进行排查和解决:检查数据库服务状态:确认MySQL数据库服务是否正在运行。可以通过SSH登录到服务器,然后使用systemctlstatusmysql(对于systemd管理的服务)或servicemysqlstatus(对于SysVinit管理的服务)命令来检查......