2025. 02. 22 CW 模拟赛 D. 送快递

news/2025/2/24 14:23:46/文章来源:https://www.cnblogs.com/Steven1013/p/18733975

D. 送快递

思路

注意到题目中说「第 \(i\) 个时刻, 青蛙和周欣中的一个人要将快递送往位置 \(k_i\), 送完快递后, 那个人将停留在位置 \(k_i\)」, 那么就有一个 \(\mathcal{O}(n^2)\)DP : \(f_{i, j}\) 表示执行完前 \(i\) 次操作, 有一个人在 \(k_i\), 另一个人在 \(k_j\) 的最小代价.

考虑一个人的行动轨迹, 必定为「一段 + 一段 + ... + 一段」 的形式. 那么我们可以优化 DP 状态: 令 \(f_i\) 表示以 \(i\) 为一段结尾的最小代价. 我们枚举该段的开头, 则有以下转移方程.

\[f_i = \min_{j = 1}^{i - 1} \{ f_j + |k_{j - 1} - k_i| + \sum_{l = j + 1}^{i - 1} |k_l - k_{l + 1}| \} \]

最后的 \(\displaystyle \sum_{l = j + 1}^{i - 1} |k_l - k_{l + 1}\) 可以使用前缀和进行优化成 \(s_{i - 1} - s_j\)​, 那么就有:

\[f_i = \min_{j = 1}^{i - 1} \{ f_j + |k_{j - 1} - k_i| + (s_{i - 1} - s_j) \} \]

可以发现变量均可分离成只和 \(i, j\) 独立相关, 用数据结构维护即可.

void build() {memset(tr, 63, sizeof tr);while (P <= n + 2) P <<= 1;
}void update(int op, int x, long long val) {tr[op][x += P] = val;for (x >>= 1; x; x >>= 1)tr[op][x] = min(tr[op][x << 1], tr[op][x << 1 | 1]);
}long long query(int op, int l, int r) {long long ans = INF;l += P - 1, r += P + 1;while (l ^ 1 ^ r) {if (~l & 1) ans = min(ans, tr[op][l ^ 1]);if (r & 1) ans = min(ans, tr[op][r ^ 1]);l >>= 1, r >>= 1;}return ans;
}void init() {read(n);for (int i = 1; i <= n; ++i) read(k[i]);for (int i = 0; i <= n; ++i) t[i + 1] = k[i];sort(t + 1, t + n + 2);for (int i = 0; i <= n; ++i)k[i] = lower_bound(t + 1, t + n + 2, k[i]) - t;
}void calculate() {build();update(0, 1, t[k[1]] - t[1]), update(1, 1, t[k[1]] + t[1]), ans = t[k[1]];for (int i = 2; i <= n; ++i) {long long l, r, val;l = query(0, 1, k[i]) + t[k[i]], r = query(1, k[i] + 1, n + 1) - t[k[i]];val = min(l, r) + s;s += abs(t[k[i]] - t[k[i - 1]]);ans = min(ans, val - s);update(0, k[i - 1], val - s - t[k[i - 1]]);update(1, k[i - 1], val - s + t[k[i - 1]]);}print(ans + s);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/889011.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java知识面试day4

1.常见的关键字有哪些static:静态变量,静态变量被所有对象共享,在内存中只有一个副本。具有静态变量,静态方法块,静态代码块(在类加载时候被指执行一次),静态内部类:非静态内部类需要依赖外部实列,但静态内部类不需要。final 基本数据类型用final修饰不能修改,引用对象被…

[QOJ 8366] 火车旅行

毒瘤边化点,有人说非排列只需要加一些细节,但是这个题毒瘤在于非排列。 statement 给定一个长度为 \(n\) 的序列 \(a_i\)。 对于位置 \(x\) 和 \(y\):若 \(y < x\) 且 \(max_{y < i < x} a_i < min(a_x, a_y)\) 则位于 \(x\) 的棋子可以花费 \(L_x\) 的代价跳到…

uipath更新到最新版本2025.0.161出现严重问题

uipath更新到最新版本2025.0.161出现严重问题:1. 打开既有项目,会报CS0246错误2. 无法创建新项目,一直报无权限访问尝试办法:1. 重新安装uipath,未解决2. 删除项目重新添加,未解决3. 给账户添加最高权限,未解决 workaround:把项目从默认文件夹复制到其他盘(除了C盘外…

Python正则表达式之re.compile函数

​在Python编程语言中,re.compile函数是正则表达式模块(re)中的一个核心组件,它负责将文本形式的正则表达式编译成一个正则表达式对象。这个对象随后可以被用来执行高效的模式匹配操作,如查找、替换或者分割字符串等。理解并有效利用 re.compile对于编写高效且可维护的正则表…

Unity Addresable打包总结第二弹

前言 前文介绍了Addressables在本地打包是怎么使用,这里介绍下怎么打远程包,并且怎么做到打增量包,Lets Go! 远程包新建一个Group,将它的 BUild & Load Paths 改为Remote,并将RemoteRes资源文件夹塞入Remote Group,其中包含一个Capsule.prefab资源:在Addressabvles …

BUUCTF-RE-[2019红帽杯]easyRE

这道题很难,但是并不难在他的解题要用到的方法和技巧上,而是难在它的题目设计。做的过程中真的有一种闯关的感觉,非常有趣 首先我们通过对字符的定位我们可以来到sub_4009C6函数 __int64 sub_4009C6() {__int64 result; // raxint i; // [rsp+Ch] [rbp-114h]__int64 v2; // …

2025年免费项目管理软件哪家强?5款零成本工具实测报告

在项目管理领域,众多团队尤其是初创企业和小型项目组,都渴望找到功能实用且零成本的软件来助力项目推进。2025 年,有 5 款免费项目管理软件表现突出,它们分别是禅道、Trello、Asana、Redmine 以及国内新兴的钉钉项目管理相关功能,下面将为大家带来详细的实测报告。一、禅道…

BT151-ASEMI电机控制专用BT151

BT151-ASEMI电机控制专用BT151编辑:ll 在当今科技飞速发展的时代,电子元件宛如繁星般点缀着各个领域,而 BT151 单向可控硅无疑是其中一颗极为耀眼的明星。 BT151-ASEMI电机控制专用BT151 型号:BT151 品牌:ASEMI 封装:TO-220F 正向电流:12A 反向电压:600V~800V 引脚数量…

销售必备60招

脸皮厚、嘴巴甜、手脚勤。先放下面子努力拿下客户,提高收入,往后在亲友面前抢着买单时,面子自然就有了。干销售得有狼性、野性和匪性,还要有胆量。推销是常识的运用,但只有将经实践验证的理念用于积极的客户身上,才会产生效果。想要取得惊人成绩,必须先做好枯燥乏味的准…

【H2O系列】关于H2O和OmniH2O代码安装及代码解读摘要`

0. 前言 这篇博客主要用于过程记录H2O代码部分的参数解读部分。 一方面便于日后自己的温故学习,另一方面也便于大家的学习和交流。 如有不对之处,欢迎评论区指出错误,你我共同进步学习! 1. 论文&项目 项目地址:https://omni.human2humanoid.com/ 我自己总结的论文摘要…

1小时搭建好的智能车间生产看板长什么样?

大家一提到生产看板搭建,可能脑袋里第一反应就是“哎,这个得花大钱买专业软件吧”或者“搭建起来肯定超级复杂”。 其实,真没那么难! 只要找对方法,学会用对工具,搭建一套生产看板其实很简单。 那天,我就亲自试了一下,结果不到两三小时,就做出了一套智能生产看板。 但…

MCN公司如何打造爆款内容?内容创新与品质提升的秘诀

MCN(多频道网络)管理优化是一个涉及多个方面的复杂过程,旨在提升MCN公司的运营效率、增强市场竞争力并实现可持续发展。以下是一些关键的MCN管理优化策略: 一、市场定位与品牌建设 精准市场定位 ○ 深入了解目标受众,包括他们的兴趣、需求和行为模式。 ○ 对自身资源和优势…