首页 > 其他分享 >【某NOIP模拟赛T2 - 旅游】--线段树优化 DP 的魅力

【某NOIP模拟赛T2 - 旅游】--线段树优化 DP 的魅力

时间:2024-11-05 18:41:24浏览次数:3  
标签:le NOIP -- 线段 T2 cdot 取整 DP 关键点

题意:

数轴上在起点 \(s\) 和终点 \(t\) 间的整点中有 \(n\) 个关键点,第 \(i\) 个关键点位置为 \(c_i\),可获得 \(m_i\) 的价值。你可以从起点开始,每次跳至多 \(z\) 个点(跨过中间的点),而每到达一个 \(s\) 以外的点需要支付 \(a\) 的代价,求走到终点的最大价值。

\(0\le s\le c_i\le t \le 10^9,n\le 10^5\)

这种题目一眼 DP 好吧​

设 \(f_i\) 表示前 \(i\) 个关键点的答案,首先考虑 \(O(n^2)\) 的暴力转移

\[f_i = \min\{f_j + \lceil \frac{c_i-c_j}D \rceil \cdot a_i - m_i \} \\ \]

然后有个蠢蛋打表打小了,以为满足决策单调性QwQ

发现优化的瓶颈在于这个烦人的上取整除法

众所周知,上下取整,取模之类的运算都可以拆成普通的运算

发现 \(c_i,c_j\) 同时加 \(k\cdot D\) 并不会影响上取整(即其相对大小关系)带来的贡献,那么我们不妨将这个取整拆开?

\(c_i = k_i \cdot D + b_i\)

成功将贡献转移到 \(b_i,b_j\) 的大小关系上!

\[f_i=\min\{ f_j+(k_i-k_j + \lceil \frac{b_i-b_j}D \rceil) \cdot a_i \} - m_i \\ \because b_i,b_j \in [0,D) \therefore b_i-b_j \in (-D,D) \]

这样我们就让烦人的上取整简化成 \([b_i>b_j]\) ,于是丢到以 \(b_i\) 为下标的 最小值权值线段树 里去做就行了

总结:拆 DP 中难求的贡献?权值线段树!

标签:le,NOIP,--,线段,T2,cdot,取整,DP,关键点
From: https://www.cnblogs.com/sukiqwq/p/18528562

相关文章

  • 2024强网杯web题解
    PyBlocklyfromflaskimportFlask,request,jsonifyimportreimportunidecodeimportstringimportastimportsysimportosimportsubprocessimportimportlib.utilimportjsonapp=Flask(__name__)app.config['JSON_AS_ASCII']=Falseblacklis......
  • 计算思维的核心是编程思维
    计算思维的核心是编程思维编程作为一门基础技能,正逐渐从专业领域的“小众”走向大众视野的“主流”。正如乔布斯所言:“学编程,教你另一种思考方式。”编程不仅仅是一种技能,更是一种能够深刻影响我们思维模式的强大工具。提到编程,很多人首先想到的是程序员、代码和计算机。然而,编......
  • 专业术语简介【一】:没有银弹、加盐、毛刺、冒烟测试、热备
    〇、前言了解行业术语是一个程序猿的基本素养,只有更深入的了解才能与其他人畅快沟通,下面来简单汇总下,会持续更新。欢迎评论区补充,博主会逐个加入后续文章。一、“没有银弹”从字面意思来看就是,没有银色的子弹。当然不可能这么简单。其实,它出自计算机科学家布鲁克斯《没有银弹......
  • 20222405 2024-2025-1 《网络与系统攻防技术》实验四实验报告
    1.实验内容(1)恶意代码文件类型标识、脱壳与字符串提取(2)使用IDAPro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息。(3)分析一个自制恶意代码样本rada,并撰写报告,回答问题(4)取证分析实践2.实验过程2.1恶意代码文件类型标识、脱壳与字符串提取(1)使用......
  • [Zer0pts2020]easy strcmp
    [Zer0pts2020]easystrcmpdie查壳找到加密函数如何找到加密函数的找到init函数,跟进funcs_889、跟进使用x交叉引用qword_201090即可找到主加密函数那这个加密函数是如何连上main函数的呢?mainmain函数这里运用了strcmp,但我们却找不到strcmp到底对比了什么但根据我......
  • LDAP--Jenkins详解笔记
    一、Ldap的结构1.组织角色所有用户都可以登录,但是只有创建时的admin组角色有增删改的权限,相当于是根目录,千万不能删,删了就全没了注意,admin用户是首个超级登录用户(相当于根),需要用配置文件生成,详见:https://www.cnblogs.com/wangyuanguang/p/18189832##注意修改wyg部分为自己自......
  • Profiling an Assembly Program
    Project5:ProfilinganAssemblyProgramGoalInthisprojectyouwilllearnhowtofindwhereaprogramspendsmostoftheexecutiontimeusingstatisticalprofiling,andyouwillimplementyourownstatisticalprofiler.Task0:Downloadtheinitialsources......
  • 系统集成项目管理工程师笔记4 - 第四章 信息系统架构
    信息系统集成项目涉及的架构通常有系统架构、数据架构、技术架构、应用架构、网络架构、安全架构;4.1架构基础架构的本质是决策;4.1.1指导思想通过指导思想的贯彻实施,推动项目多元参与者能保持集成关键价值的一致性理解,从而减少不必要的矛盾与冲突;4.1.2设计原则......
  • 从0开始搭建自己的直播平台
    本文讲述了如何从0开始,利用腾讯云的平台,快速搭建一个直播平台的过程。准备工作要有两个已经备案完成的域名。域名申请及备案的操作,这部分可以直接看腾讯云的文档,也可以等我后面有时间自己再写一下过程。第一步:添加域名并检验cname配置1.先填加一个推流域名填加过程中,需要校......
  • 方程求根
    方程求根1.根的搜索根的搜索是数值分析中求解非线性方程f(x)=0的基本步骤。根的搜索主要通过观察函数图像或简单数值方法确定方程在某个区间上的大致根的位置。一个基本方法是通过区间逐步缩小的方式,寻找函数在某个小区间内符号发生变化的点。区间划分若f(x)在[a,b]......