首页 > 其他分享 >CSP-S 2024 简单题

CSP-S 2024 简单题

时间:2024-10-29 20:44:13浏览次数:5  
标签:frac 结尾 max 2024 怪物 简单 序列 考虑 CSP

CSP-S 2024 简单题

以下均为考场做法。

T1 决斗 (duel)

考虑贪心,按照攻击力 \(a_i\) 排序,从小到大使用所有怪物进行攻击,每只怪物攻击一个在场且能击杀的怪物中,攻击力最大的一个。这样显然最优,因为每一次攻击都被完美的利用到了。

于是设 \(c_x\) 表示满足 \(a_i = x\) 的 \(i\) 的个数。按照 \(x\) 从小到大扫,维护一个变量 \(cnt\) 表示当前的怪物数量,初始为 \(0\),每次相当于 \(cnt \gets \max(cnt - c_x, 0) + c_x\)。表示先用攻击力为 \(x\) 的怪物击杀其他怪物,再加入这些怪物。

这样也可以证明答案为 \(\max c_x\)。考查 \(c\) 的单调栈即可。时间复杂度 \(O(n)\)。

T2 超速检测 (detect)

首先考虑将物理问题转化为 OI 问题。对于每辆车 \(i\) 求一个 \([l_i, r_i]\),表示 \(i\) 在路过第 \(l_i\) 至 \(r_i\) 个测速仪时超速,然后就比较好做了。

考场推法是这样的:一辆车,初始位置为 \(d\),初速度为 \(v_0\),加速度为 \(a\),则 \(t\) 秒后速度为 \(v_t = v_0 + at\),我们尝试写出一个方程 \(v_0 + at = V\),然后一定是一段前缀或者后缀合法。

先判掉一些 \(\text{Corner Case}\):若 \(v_0 > V\) 且 \(a > 0\),则后面全部超速。若 \(v_0 \le V\) 且 \(a < 0\),则永远不会超速。若 \(a = 0\),则只需考察是否有 \(v_0 > V\),同样可以规约到上面两种情况之一。

否则 \(v_0 +at = V\) 不会失效。解出 \(t = \frac{V - v_0}{a}\)。考虑在 \(0 \sim t\) 秒内的位移为 \(x = v_0t + \frac{1}{2} at^2\)。\(t\) 秒后位置为 \(d + v_0t + \frac{1}{2} at^2\)。代入 \(t\),得到 \(d + v_0(\frac{V - v_0}{a}) + \frac{1}{2}a(\frac{V - v_0}{a})^2 = d + \frac{V^2 - {v_0}^2}{2a}\),在测速仪的数组上二分这个位置即可。

最后考虑最前面讲的抽象问题怎么做。第一问显然是满足 \(l_i \le r_i\) 的 \(i\) 的个数。第二问考虑贪心,将所有区间 \([l_i, r_i]\) 按照右端点排序,每次能拖就拖,不能拖就在 \(r_i\) 处放一个测速仪,这个应该是简单的。

时间复杂度 \(O(n \log n)\)。

T3 染色 (color)

将红色和蓝色的涂色看成划分为两个子序列。容易想到设 \(f_{i, x, y}\) 表示,考虑了前 \(i\) 个位置,第一个序列结尾为 \(x\),第二个序列结尾为 \(y\) 的最大收益。

由于两个序列不区分,且放完 \(i\) 时一定有一个子序列的结尾为 \(a_i\),所以这个状态有一维是多余的,设 \(f_{i, x}\) 表示考虑前 \(i\) 个位置,一个序列结尾为 \(x\),另一个序列结尾为 \(a_i\) 的最大收益即可。

考虑 \(f_{i, x}\) 到 \(f_{i + 1, y}\) 的转移,有两种可能:

  • \(a_{i + 1}\) 和 \(a_i\) 在一个子序列,则这一步的收益为 \([a_{i + 1} = a_i] a_{i + 1}\),这是一个只与 \(i\) 有关的值。
  • \(a_{i + 1}\) 和 \(x\) 在一个子序列,则这一步的收益为 \([a_{i + 1} = x] a_{ i + 1}\)。

对于第一种转移,相当于一个全局加。对于第二种转移,注意到对于任意的 \(x\) 都会转移到 \(f_{i + 1, a_i}\),则我们只关心值最大的那个。分类讨论,\(a_{i + 1} = x\) 的情况只需做单点查。而 \(a_{i + 1} \neq x\) 的情况我们只关心全局 \(\max\)。于是对全局加打 \(tag\),然后维护全局 \(\max\) 即可。

时间复杂度 \(O(n \log n)\),其中 \(\log n\) 仅用于离散化。

标签:frac,结尾,max,2024,怪物,简单,序列,考虑,CSP
From: https://www.cnblogs.com/estruct/p/18514315

相关文章

  • 2024.10.29 test
    A已知\(n\)边形的一个三角剖分,你可以进行若干次“城市建造”操作,可以选择三个点并新建一个点为这三个点的内心并连边。构造方案,使得城市建造次数最少,且新图可以划分为两棵树。只需要进行一次城市建造操作,就可以使边数变为\(2n\),点数为\(n+1\),显然即可划分。考虑取出一个三......
  • 2024CSP-S游记 & (半?)退役记
    流水账,供自己回忆。(1)序幕2023年8月10号(±2天),中考完的我踏入了高中的校园,由于本蒟蒻自小学起就对信息竞赛有一定的兴趣,所以在2023年9月底学校开始寻找对各学科竞赛感兴趣的学生时,蒟蒻毫不犹豫的报名了物理竞赛[1]信息竞赛,自此拉开了我OIer生涯的序幕。[1]:在绿皮书物理竞赛的摧......
  • CSP-S 2024 游记
    \(\text{Day-28}\sim\text{-7}\)复习了两个星期dp,感觉状压十分强大,但是看得不是很透彻。\(\text{Day-6}\sim\text{-2}\)停课爽!模拟赛爽!云斗模拟赛总算让我见识了什么叫打表出省一。\(\text{Day-1}\)上午在和\(\texttt{TZYLT}\)和\(\texttt{QianXiquq}\)打板子,感......
  • 【IntelliJ IDEA】2024最新使用
    大家好!今天我非常高兴能够在这里与大家分享一份极具价值的资源——《IntelliJIDEA2024最新使用》。而IntelliJIDEA,作为业界领先的集成开发环境,以其强大的功能和出色的用户体验,成为了众多开发者的首选。这不仅包括其在代码编辑、调试、版本控制等方面的强大功能,还将涵盖如何......
  • 2024最新免费简历模板 求职奶爸 简历礼包
    系列文章目录前言亲爱的朋友们,大家好!今天,我想和大家分享一个对2024届毕业生来说至关重要的资源——“求职奶爸2024届简历礼包”。在这个竞争激烈的求职季节,拥有一份出色的简历和准备充分的面试技巧是成功的关键。无论你是刚刚踏入职场的应届毕业生,还是希望转型的职......
  • [57] (多校联训) A层冲刺NOIP2024模拟赛15
    A.追逐游戏一个非常暴力的想法是直接求出最短路径\(S\),然后对\(S\)上的点,比较\(dis_{s,S_i}\)和\(dis_{s',S_i}\)的大小,如果抓捕的人先到就符合条件实际上,这个符合条件的路径是单调的,即在最短路径上存在一个断点,断点靠近起点的一侧总不可达,靠近终点的一侧总是可达的证明......
  • [CSP-J 2022] 上升点列(DP)
    题目传送门解题思路首先先讲这些点按照  从小到大排序。然后,很容易想到设  表示到第  个点已经放了  个点的最长上升序列的长度。所以,我们可以从前面的点转移(注意要判断一下 是否符合,因为我们只按照了 排序);于是,手推一下可以整出这样一个转移方程:其中  是......
  • 2024.10.29
    1.reverse函数:翻转对于数组a,a+n;对于字符串或者向量a.begin(),a.end();具体在https://blog.csdn.net/YMWM_/article/details/1154682972.字符串的一种赋值方式点击查看代码for(inti=0;i<n;i++)s[i]=string(7*n/2,'')其中s[]=string(数量,'')是说将s[]这一行赋值为......
  • CSP-S 2024 游记
    Day0回顾了一下各类字符串算法,切了几道ACAM的题。(果然没考)然后就摆了。Day1上午狠狠的摆。下午去考场。考试过程中被小孩哥干扰,左边砸鼠标,右边砸键盘。有点缺德。T1签。记\(cnt_i\)为战力为\(i\)的怪兽的个数,答案即为\(\max(cnt_i)\)。T2转换成每个车能被下......
  • CCPC 2024 哈尔滨游记
    CCPC2024哈尔滨游记坐标SC,打星队伍,队伍基本上是临时搭伙的。我们学校共有四支队伍参加。Day0走之前模板都没怎么准备,教练说他会准备一些,所以就在走之前随便印了几张。凌晨从天府机场坐飞机到哈尔滨,一下飞机被哈尔滨的寒风吹傻了。这时发现教练给的计算几何板子是电子版......