首页 > 其他分享 >2024.10.11 LGJ Round

2024.10.11 LGJ Round

时间:2024-10-13 21:00:24浏览次数:1  
标签:11 LGJ 2024.10 长链 路径 烟花 每次 考虑 2k

C

有 \(N\) 人站在一条数轴上。他们人手一个烟花,每人手中的烟花都恰好能燃烧 \(T\) 秒。每个烟花只能被点燃一次。开始时,只有 \(K\) 号的烟花开始燃烧,当两人位置重叠且其中一人手中的烟花燃着时,另一人手中的烟花就可以被点燃。求至少需要以多快的速度跑,才能使所有人的烟花都曾被点燃。\(N\le 10^5\)。

很明显的二分答案,考虑如何检验答案,设速度为 \(v\)。
首先我们考虑令 \(K\) 点为参照物,每次相当于让左边或右边的人全部以 \(2v\) 的速度靠近,另一边不动。
每当有人碰到了 \(K\),就使当前燃烧时间加上 \(T\)。我们有一个简单地贪心,每次选一个最近的人走过来。
当然这是假做法,如果我们走向了一个最近的人,其收益为负,导致我们不能走回去,就是错的。
每个人的收益可以看做是:\(T\) 减去走过去的耗时。我们每次向左或向右拓展一个,使当前的时间非负。
将问题模型化了之后解决便很简单了,暴力 dp 是其中一个方式。
一个区间合法的条件也就是总收益非负,我们要找一条 \([k,k]\) 到 \([1,n]\) 的路径使得每个区间都合法。
考虑将区间合法的条件写出来:也就是 \(X_r-X_l\ge (r-l)T\),那么令 \(a_i=X_i-ri\),使 \(a_r-a_l\ge 0\)。
贪心让 \(a_l\) 尽量小,\(a_r\) 尽量大,从 \([k,k]\) 开始,最后可以得到一个区间使得 \(a_{l-1}>a_l,a_{r+1}<a_r\)。
那么我们无法在拓展了,考虑此时进行时光倒流,从 \([1,n]\) 开始,显然最后还是可以得到 \(a_l,a_r\)。
若在所有拓展的时刻,都有 \(a_r\ge a_l\),那么当前二分的答案合法。
启示是时间倒流在优化一些贪心题时非常有用。其他的我也说不出什么,只能先记录这个题。

D

树有边权,\(q\) 次询问每次问选出 \(k\) 条路径,必须覆盖某个点,路径并权值最大值。\(n,q,k,\le 5e5\)。

可以证明:\(k\) 条路径可以覆盖一个叶子数为 \(2k\) 的树,类比虚树的建立。
即我们选出 \(2k\) 个叶子,使得其组成的虚树边权和最大。
再考虑:每次询问中,一定存在一种方案使得直径的两端中至少有一端被选取。
那么我们以两个直径端点为根,每次询问在两棵树中分别查询即可。
那么现在相当于选 \(2k-1\) 个叶子,考虑长链剖分,然后选权值前 \(2k-1\) 大的若干长链即可。
考虑不经过 \(x\) 的情况,取出 \(x\) 子树内最深的点 \(y\),有两种情况。
第一种是把选了的第 \(2k-1\) 长的链换成 \(y\) 结尾的长链;
第二种是选 \(y\) 往上走,把最近的长链下半部分换成到 \(y\) 的路径,这个随便做了。
这个题考察了树的直径;以及长链剖分经典套路。

标签:11,LGJ,2024.10,长链,路径,烟花,每次,考虑,2k
From: https://www.cnblogs.com/Simon-Gao/p/18462965

相关文章

  • 2024.10.12 test
    A一棵二叉树,相同深度的点位置相邻的有一条边,给出两条根开始的路径,可以向上/左/右/左儿子/右儿子走,问最后走到的两个点最短距离。路径长度\(\le10^5\)。考虑求出两条路径分别走到的位置,用根开始的路径表示,每次向左/向右,用\(0/1\)表示。最后统计答案,两个点一定是走到某个深度......
  • 2024.10.13 2010版
    起于《海奥华预言》的思考◆地球管理结构和参考持续更新中...... 英文地址:https://github.com/zhuyongzhe/Earth/tags中文地址:https://www.cnblogs.com/zhuyongzhe85作者:朱永哲 ---------------------------------------------------------------------------------......
  • Win11系统CPU资源
    在Win11中结束进程,可以按照以下步骤进行操作:打开资源管理器。您可以通过按下Windows键并键入“资源管理器”来快速找到它。在资源管理器中,单击左侧导航栏的“此电脑”或“我的电脑”。在“此电脑”窗口中,单击左上角的“查看”选项卡。在“查看”选项卡中,单击右侧的“选......
  • P11187 配对序列
    P11187配对序列-洛谷|计算机科学教育新生态(luogu.com.cn)考虑DP,看注释,时间复杂度\(O(n)\)。非最优思路。#include<iostream>#include<cstdio>#include<algorithm>usingnamespacestd;constintN=500010;intf[N][2];//f[i][0/1]前i个里面的最大子序列......
  • C++入门基础知识111—【关于C++switch 语句】
     成长路上不孤单......
  • C++入门基础知识110—【关于C++嵌套 if 语句】
     成长路上不孤单......
  • C++入门基础知识110—【关于C++ if...else 语句】
    成长路上不孤单......
  • YOLOv11改进 | 注意力篇 | YOLOv11引入CoTAttention注意力
    1. CoT介绍1.1 摘要:具有自注意力的Transformer引发了自然语言处理领域的革命,最近激发了Transformer式架构设计的出现,在众多计算机视觉任务中取得了具有竞争力的结果。然而,大多数现有设计直接在2D特征图上采用自注意力,以获得基于每个空间位置处的孤立查询和键对的注......
  • day11-特殊文件、日志技术、多线程
    day11-特殊文件、日志技术、多线程一、属性文件1.1特殊文件概述同学们,前面我们学习了IO流,我们知道IO流是用来读、写文件中的数据。但是我们接触到的文件都是普通的文本文件,普通的文本文件里面的数据是没有任何格式规范的,用户可以随意编写,如下图所示。像这种普通的文本文件,没......
  • [SDOI2011] 工作安排——费用流
    [SDOI2011]工作安排题目描述你的公司接到了一批订单。订单要求你的公司提供\(n\)类产品,产品被编号为\(1\simn\),其中第\(i\)类产品共需要\(C_i\)件。公司共有\(m\)名员工,员工被编号为\(1\simm\)员工能够制造的产品种类有所区别。一件产品必须完整地由一名员工制......