首页 > 其他分享 >2024.10.18考试总结

2024.10.18考试总结

时间:2024-10-18 19:10:13浏览次数:7  
标签:2024.10 right 18 复杂度 leq mathcal 小数 考试 left

本文于 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)\) 。

标签:2024.10,right,18,复杂度,leq,mathcal,小数,考试,left
From: https://www.cnblogs.com/Mitishirube0717/p/18474900

相关文章

  • 10.18 模拟赛
    炼石计划10月04日NOIP模拟赛#8【补题】-比赛-梦熊联盟(mna.wang)复盘T1有种div.2B的风格,没秒,想看题。T2。只判是否无解?\(k\le100\)?把\(200\)个关键连通块拿出来建图跑传递闭包不就做完了。一遍过大样例?简直不可思议,但还是把T2关了吧。用分析CF题的方......
  • 2024.10.18模拟赛反思
    2024.10.18模拟赛反思感觉今天状态不太好,整个人比较恍惚。早自习我都不知道在干什么,考试的时候脑子里也是一团糨糊(晚上提前到\(12\)点睡觉,结果状态更差了)。首先是\(T1\),开始我以为简单无向连通图的“简单”是指的仙人掌,所以想了一个点双的做法。写到一半发现做法复杂了,用最小......
  • 18. 模块
    一、什么是模块  模块化指将一个完成的程序分解为一个一个小的模块。通过将模块组合,来搭建一个完整的程序。如果不采用模块化,那么所有的代码将统一保存到一个文件中。采用模块化后,将程序分别编写到多个文件中。使用模块化后,我们可以把代码进行复用,这方面后序的开发和维护。二......
  • JCO发表加州大学团队最新医学AI研究,从常规HE染色切片预测同源重组缺陷和铂类药物反应|
    小罗碎碎念这篇文章是关于一项名为DeepHRD的深度学习平台的研究,该平台能够从常规的苏木精-伊红(H&E)染色组织切片中预测同源重组缺陷(HRD)和铂类药物反应。作者角色姓名单位第一作者ErikN.Bergstrom加州大学圣地亚哥分校Moores癌症中心通讯作者LudmilB.Alexandrov加州......
  • 基于Java微信小程序的模拟考试系统(源码+lw+部署文档+讲解等)
    项目运行截图技术框架后端采用SpringBoot框架SpringBoot是一个用于快速开发基于Spring框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不是配置文件。SpringBoot通过自动化配置和约定大于......
  • 10.16考试总结
    T1最小生成树题面:给你一个无向带权连通图,每条边是黑色或白色。让你求一棵恰好有\(need\)条白色边的权值和最小的生成树。题目保证有解。题解:最小生成树,自然而然想到kruskal算法,但我们要让白点恰好有\(need\)条,在白点多的时候,要多选黑点,在白点少的时候,要多选白点,所以我们......
  • 基于51单片机的大气压强检测仪(BMP180)(程序+Proteus仿真)
    编号:60基于51单片机的大气压强检测仪(BMP180)功能描述:   本设计由51单片机+BMP180大气压强检测模块+1602液晶显示模块组成。1、主控制器是51单片机2、利用BMP180传感器读取大气压强、温度、海拔高度等信息3、1602液晶显示大气压强、温度、海拔高度等信息视频演示链......
  • 2024.10.18 test
    B\(n\)次操作,每次操作选择下面三个中的一个:令\(P\getsP+x_i+S\);\(S\getsS+y_i\);\(D\getsD+z_i\)。在每次操作后,\(S\getsS+D\)。询问\(P\)的最大值。\(n\le80,x,y,z\le1e9\)。由于不可能把\(P,S,D\)存进状态里,考虑拆贡献,即计算每个操作对后面的贡献。\(D\getsD+z_......
  • [ARC185A] mod M Game 2
    [ARC185A]modMGame2题意Alice和Bob每人手里有\(n\)张牌,牌上有数字\(1,2,\cdots,n\),从Alice开始轮流出牌,若一个人出牌后场上牌数字的总和能被\(m\)整除,则这个人输掉,若两人的牌都出完后还没有人输,则Alice获胜。给出\(n,m\pod{n<m}\),问两人都进行最优操作后谁会......
  • 20241018打卡
    Simai是一种用于绘制maimaiDX谱面的脚本语言,主要用于定义游戏中的音符位置、类型和时间,使玩家能够在触摸屏上按照音乐节奏进行操作。这种语言广泛用于创建自定义谱面,为maimaiDX提供独特的挑战和体验。Simai语言的基本语法:文件头和元数据:通常在脚本开头定义一些元数据,......