2024.10.18考试总结

news/2024/10/18 19:19:38

本文于 github 博客同步更新。

A:

考虑如果现在在点 \(i\),能否走到编号更小的点。如果可以,那么必然存在一个 \(j \geq i>a_{j}\) 使得你可以走到点 \(a_{j}\)

那么我们对于每个 \(i\),将区间 \(\left(a_{i}, i\right]\) 加一,从 \(x\) 开始能走到的编号最小的点也就是 \(x\) 左侧最近的 0 的位置。

带修问题可以直接用线段树维护,查询的时候使用线段树二分。

时间复杂度 \(\mathcal O((n+q) \log n)\)

B:

由于一个棋子的两条路径无交且包含所有的边,所以对于每条边,每个棋子恰有其中一条路径包含它。

那么我们枚举其中一条边,要求所有棋子均经过它,那么所有棋子的路径选择方案就确定下来了。

多条边能同时在答案中当且仅当它们确定的方案一致,即每条边对应一个选择方案,需要选出最大的等价类。判断等价关系直接使用随机异或哈希即可,时间复杂度 \(\mathcal O(m \log m)\)

C:

设外层、内层子序列分别为 \(S=\left\{p_{1}, p_{2}, \ldots, p_{l_{1}}\right\}, T=\left\{q_{1}, q_{2}, \ldots, q_{l_{2}}\right\}\)

原先一层的情况下,我们可以要求 \(\forall j \in\left(p_{i-1}, p_{i}\right), a_{j} \neq a_{p_{i}}\) ,即钦定一种子序列在最左的出现位置处统计到。

那么两层的情况下,我们考虑对内层进行 DP,设 \(f_{i}\) 表示考虑到 \(i\) 且钦定 \(i\)\(T\) 内的答案,那么枚举 \(T\) 中上一个位置 \(j\) ,考虑 \((j, i)\) 中的数填入 $ S $ 的方案数,有如下限制:

  • 对于 \(j<p<i, a_{p}=a_{i}\),要求 \(p\) 不能在 \(S\) 中。
  • \(l\) 为最大的 \(j<p<i\) 使得 \(a_{p}=a_{i}\),必须存在 \(l<q<i\) 使得 \(q\)\(S\) 中。
  • \(S\) 中每相邻两个数 \(p, q\),要求 \(\forall k \in(p, q), a_{k} \neq a_{q}\)

其中第一条限制是为了限制 \(T\)\(S\) 中最左的,后两条限制是为了限制 \(S\) 为最左的。

时间复杂度 $\mathcal O\left(n^{2}\right) $,空间复杂度 \(\mathcal O(n)\)

D:

摆了。

对于一个数 \(v\),取出最长的相邻两项和 \(\leq v\) 的子序列,如果其长度 \(\geq k\) 那么答案就 \(\leq v\)

我们把 \(2 a_{i} \leq v\) 的数称为「小数」,反之称之为「大数」。小数必定可连选,大数必定不可连选。

最优情况必定为小数全选,对于每相邻两个小数,如果它们之间最小的大数可选就选上。

那么我们按值域从小到大做扫描线,每次会将一些大数切换为小数。注意到相邻的小数之间显然均为大数,所以求出若干四元组 \((i, j, l, r)\) 表示在 \(v \in[l, r]\)\(i, j\)为相邻小数且对答案有 1 的贡献。

差分为对 \(v \geq l\) 的单点加矩形求和,还需注意 \([i, j]\) 跨过端点时的贡献。

对这些四元组以及询问进行整体二分即可。

时间复杂度 \(\mathcal O\left((n+q) \log ^{2} n\right)\),可以通过。

然而还可以继续优化!对于一个时刻 \(v\),仍有贡献的四元组 \((i, j, l, r), l \leq v \leq r\) 的区间 \([i, j]\) 除端点外互不相交,那么数点可以降一维:只要求 \(i\) 在区间内,此时只会算多包含右端点的一个贡献区间。

前驱后继可以类似地在整体二分中双指针维护,时间复杂度 \(\mathcal O((n+q) \log n)\)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

10.18 模拟赛

炼石计划 10 月 04 日 NOIP 模拟赛 #8【补题】 - 比赛 - 梦熊联盟 (mna.wang) 复盘 T1 有种 div.2 B 的风格,没秒,想看题。 T2。只判是否无解?\(k \le 100\)?把 \(200\) 个关键连通块拿出来建图跑传递闭包不就做完了。 一遍过大样例?简直不可思议,但还是把 T2 关了吧。 用…

小心!这样分享 B 站视频会暴露身份

已经有被开盒的案例了。‍ 在 2022 年 6 月 10 日 0 点,B 站在视频的网址上加了个参数 ?vd_source=XXXXXXXXXXXXXXX​,如图: ​ 经过网友的测试,这个参数值很可能就是用户 ID 的 hash 值(简单来说就是用户身份),所以如果直接复制网址的话,是有可能被“开盒”的。 ‍ 其…

局部静态变量的初始化观测

局部静态变量的初始化观测//全局变量int global=0x11111;int main(int argc, char* argv[]){ //局部变量 int temp=0x160; global=global+temp; return 0;}6: int global=0x111111;7: int main(int argc, char* argv[])8: {00401010 push …

想玩Steam游戏,但配置太低?ToDesk云电脑一招搞定!

在游戏爱好者的世界里,汇集了许多游戏大作的Steam平台无疑是一座宝库。但对于许多玩家来说,拥有一颗渴望畅玩游戏的心,却常常被低配置的电脑设备所束缚。尤其是面对硬件要求极高的3A大作时,低配置的电脑往往力不从心,卡顿、掉帧等问题让人苦恼不已。但别担心!小编最近发现…

孩子对手机有了渴望,家长该如何应对?ToDesk远程防沉迷

在现代生活中,手机已经成为我们密不可分的生活工具,日常工作社交生活都要靠手机来完成。 但近年来,手机的各类视频游戏等app诱惑在不断加大,导致孩子总是抱着手机不放,家长对此类问题头疼不已。 ToDesk远程控制软件可以另辟蹊径用远程控制软件解决掉孩子手机沉迷问题,只需…

vscode中整合豆包MarsCode编程助手

豆包MarsCode是字节跳动旗下的一款AI工具,最近在刷帖子时看到已经可以在vscode中通过插件安装MarsCode工具,接下来我们来看下操作流程以及使用效果。 第一步:首先需要注册下豆包账号 豆包 MarsCode--智能编码,一触即发! 第二步:打开vscode 后,左侧导航栏上点击扩展,搜索…

E-拼接串

题目: 思路:在已有的数组中寻找符合条件,也就是没有重复数字的子数组,以掩码的对应位的形式来表示当前子数组元素的存在,之后双重循环生成所有子数组,内层循环中,判断当前元素是否存在掩码中,存在则推出,不存在则加入掩码并标记。用另一个循环来更新 sum 数组,使得每…

低空经济如何实现商业化

随着技术的进步和政策的支持,低空经济正逐渐成为推动经济发展的新引擎。低空经济,主要指利用低空空域资源,通过有人驾驶和无人驾驶航空器的低空飞行活动,带动相关领域融合发展的综合性经济形态。当前,低空经济的商业化正面临前所未有的机遇与挑战。 技术突破是基础技术是推…