首页 > 其他分享 >JOISC 2021 Day3 保镖

JOISC 2021 Day3 保镖

时间:2023-11-09 21:48:02浏览次数:48  
标签:mathbb 保镖 frac 线段 Day3 格点 JOISC le 2021

Day \(\mathbb{P}_1+\mathbb{P}_2+\mathbb{P}_3+\mathbb{P}_4+\mathbb{P}_5+\mathbb{P}_6\)。

放到二维平面上考虑,点 \((x,y)\) 表示 \(x\) 时刻在 \(y\) 位置上,那么第 \(i\) 顾客的路径可以看成起点为 \((t_i,a_i)\),终点为 \((t_i+|b_i-a_i|,b_i)\) 的线段 \(P_i\)。

注意到一个保镖的最优策略中一定不会闲着不动,因为如果他此时正在保护一个人的话显然跟下去比不动更优;如果他此时没有保护一个人的话显然是去找下一个保护的人更优。所以保镖的路径形如若干斜率 \(1\) 或者 \(-1\) 形成的线段拼接起来的折线 \(Q_i\)。

考虑到一个保镖一旦离开了正在保护的人就再也追不上他了,那么保镖 \(i\) 保护顾客 \(j\) 时间为 \(P_j\) 和 \(Q_i\) 重合的线段在时间轴上的投影长度,也就是重合线段长度 \(l\) 的 \(\frac{1}{\sqrt 2}\)。考虑将坐标轴顺时针旋转 \(45\) 度再进行放缩,那么 \((x,y)\to (x-y,x+y)\),此时重合线段长度 \(l'\) 为 \(\sqrt 2l\),那么保护时间就是重合线段长度的 \(\frac{1}{2}\),收益就变成了 \(\frac{c_i}{2}\cdot l'\)。于是令 \(c_i\gets c_i\cdot \frac{1}{2}\)。

于是问题转化成平面上有若干平行或垂直于坐标轴的直线 \(P_1,P_2,\cdots ,P_n\),\(q\) 次询问,每次询问给出一个点 \((x,y)\),每次只能向上/向右走单位距离,和 \(P_i\) 重合的长度为 \(L_i\),收益为 \(c_i\cdot L_i\),求总收益最大是多少。

所有顾客线段延长交叉起来会变成一个大小为 \(O(n\times n)\) 的网格图。考虑 \((x,y)\) 一定是先径直走到网格图的某条线上,沿着某条可能不完整的线再走到某个格点,最后再在格点之间移动。

对网格进行离散化之后容易 dp \(O(n^2)\) 预处理出 \(f_{i,j}\) 表示目前在网格上的 \((i,j)\) 点,对应坐标系中的 \((x_i,y_j)\) 点(\(1\le i\le m,1\le j\le k\)),只能向上/向右走,走下去的最大收益。然后假设 \((x,y)\) 向上走到了 \((x,y_j)\) 所在的一条边,再向右走到了第一个格点 \((x_i,y_j)\),那么取经过 \((x,y_j)\) 的 \(c_i\) 最大的线段 \(L_i\),收益就是 \(c_i(x_i-x)+f_{i,j}\)。

注意到经过 \((x,y_j)\) 的线段必定经过 \((x_i,y_j)\) 和 \((x_{i-1},y_j)\),因为一条直线起码经过两个格点。所以记 \(v_{i,j}\) 为经过格点 \((x_i,y_j)\) 且 \((x_i,y_j)\) 不为其右端点的线段 \(P_i\) 中 \(c_i\) 的最大值,那么收益就是 \(v_{i-1,j}(x_i-x)+f_{i,j}\)。

注意到 \(x\) 固定时 \(x_i\) 为第一个大于 \(x\) 的格点横坐标,所以 \(i\) 是固定的,将 \(v_{i-1,j}\) 看作一条直线的斜率,\(f_{i,j}\) 看作截距,问题转化为求给定 \(k\) 条直线在 \(x_i-x\) 处的 \(y\) 坐标的最大值,离线下来李超树解决即可。

复杂度 \(O((n^2+q)\log n+q\log q)\)。

标签:mathbb,保镖,frac,线段,Day3,格点,JOISC,le,2021
From: https://www.cnblogs.com/Ender32k/p/17822926.html

相关文章

  • [CSP-J 2021] 小熊的果篮 题解
    题目链接既然只有两种东西,我们不妨分开考虑,这里也借鉴了很多二分图题目的切入点。假设苹果和桔子下标分别如下图所示:苹果:1367910桔子:2458那么第一次取,应该是这样取:1234689也就是先取开头比较小的,然后轮流取,注意一定保证递增,也就是对于苹果找出来的\(x\)......
  • 2021-11-06-周一
    好久不见?你...日记先生对了,,还有你,,好久不见..曾经一直在写日记的邓同学...最近是怎么了?首先,,得坦白,,,最近确实是有点乱...生活中的乱七八糟学习中的乱七八糟面对其它诱惑的乱七八糟比如日夜颠倒的看电视剧,沉迷在金庸笔下的武侠豪情和儿女情长另外axb出题也是结......
  • 【题解】NOIP2021 - 方差
    NOIP2021-方差https://www.luogu.com.cn/problem/P7962想当年我第一次站在noip赛场上,过了T1剩下三题就一题不会了……幸好这题拿了点分水了个一等。观察操作:若对于连续的三个数\(a,b,c\),对\(b\)进行一次操作后就变成了\(a,a+c-b,c\)。求出两个数组的差分数组:\(b-a,c......
  • 20211314王艺达学习笔记8
    Unix/Linux系统编程第五章定时器及时钟服务5.1硬件定时器定时器由时钟源和可编程计数器组成。时钟源会产生周期性电信号。计数器减为0时,计数器向CPU生成一个定时器中断,计数器周期称为定时器刻度,是系统的基本计时单元。5.2个人计时定时器实时时钟(RTC)即使在个人计算机关机......
  • 2023-2024-1 20211211 第五章学习笔记
    第五章学习笔记一、知识点归纳二、苏格拉底挑战三、问题解决四、实践过程截图time系统调用C语言实现......
  • 2023-2024-1 20211319 《计算机基础与程序设计》第六周学习总结
    2023-2024-120211319《计算机基础与程序设计》第周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2023-2024-1-计算机基础与程序设计)这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK06这个作业的目标<写上具体方面>作业正文......
  • 20211128《信息安全系统设计与实现》第五章学习笔记
    一、任务内容自学教材第5章,提交学习笔记(10分)1.知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容(4分)“我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个问题”核心是要求GPT:“请你以苏格拉......
  • 20211316郭佳昊 《信息安全系统设计与实现(上)》 第九周学习总结
    一、任务要求[1]知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容(4分)我在学****知识点,请你以苏格拉底的方式对我进行提问,一次一个问题核心是要求GPT:请你以苏格拉底的方式对我进行提问然后GPT就会......
  • 20211325 2023-2024-1 《信息安全系统设计与实现(上)》第八周学习笔记
    202113252023-2024-1《信息安全系统设计与实现(上)》第八周学习笔记一、任务要求自学教材第5章,提交学习笔记(10分),评分标准如下:1.知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容(4分)“我在学***X知识......
  • 2023-2024-1 20211306 密码系统设计与实现课程学习笔记8
    20211306密码系统设计与实现课程学习笔记8任务详情自学教材第5章,提交学习笔记知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容“我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个问题......