首页 > 其他分享 >「模拟赛」多校 A 层联训 15

「模拟赛」多校 A 层联训 15

时间:2024-10-31 19:44:31浏览次数:1  
标签:15 线段 LCA 多校 联训 lca 集合 hash dp

比赛链接

A. 追逐游戏 (chase)

没啥意义的水题,但赛时没调出来。

分讨,LCA

设 \(S\) 和 \(T\) 的 LCA 为 \(lca\)

  • \(S'\) 为 \(lca\) 的祖先节点的时候,\(S'\) 到达 \(s->T\) 这条链上的第一个点 \(x\) 一定是 \(lca\)

  • 否则,用 LCA 求出来 \(S'\) 到 \(s->T\) 这条链上的第一个点 \(x\)(\(x\) 要么是 S 与 S' 的 LCA,要么是 T 与 S' 的 LCA)

判断 \(S'\) 到 \(x\) 的时候 \(S\) 有没有到 \(x\),到了则答案一定是两个人都到 \(T\) 点的时候;否则答案就是 \(S->S'\) 路径上 两人一起走,最早的相遇位置

B.统计

hash

举个例子,如以下形式时,\([i,j]\) 区间显然时合法区间

发现我们只需要维护多出来的红色部分的 hash 值,并用 map 记录每种 hash 值出现的次数即可

需要卡常,各种 map 好像很难过,需要手写哈希表,直接粘的板子,改天仔细学习一下

C.软件工程

贪心、思维、前缀最大值优化 dp

分为两种情况做

  1. 直接贪心,考虑把最长的 \(k-1\) 条线段各放一个集合,其余的放到一个集合里

  2. 处理一下 dp

    线段大致分为以下几种形式:



    对于 1 线段这种存在一条线段(2 线段)被自己完全覆盖的,容易发现它若和 2 线段放一起,那么贡献就是 2 号线段的贡献。

    所以我们考虑去掉 1 线段这一类的线段,这样我们把剩余的线段按左端点排好序后,也能保证右端点是单调不减的,那么显然同一个集合里我们选连续的一些线段是较优的

    这样 dp 就是显然的了,转移如下:


    前缀最大值优化一下就好啦

    最后记得把去掉的那些有包含线段的线段的贡献加到答案上,具体就是对于表示选了 \(j\) 个集合的 \(f_{j}\) 加上 去掉的那些线段里前 \(k-j\) 大的长度总和 更新答案

标签:15,线段,LCA,多校,联训,lca,集合,hash,dp
From: https://www.cnblogs.com/YuenYouth/p/18516896

相关文章

  • 多校 A 层冲刺 NOIP2024 模拟赛 16
    多校A层冲刺NOIP2024模拟赛16T1四舍五入签到题注意到一个数是否会入上去只和其剩余系有关,即满足\(i\modj<\frac{1}{2}j\),会入上去,考虑枚举j的倍数,其贡献就成了一个区间,差分即可。时间复杂度是调和级数的,为\(O(n\lnn)\)。T2填算符贪心,特殊性质显然将所有\(\&\)放......
  • NOIP2015 提高组 子串
    NOIP2015提高组子串感觉是最长公共子序列模型的变式。容易想到记\(f[i][j][k]\)表示\(A\)走到了第\(i\)位,\(B\)匹配上了\(1\simj\),目前分成了\(k\)段的方案数。如果强制第\(i\)位必须匹配上的话,需要枚举位置\(p\),满足\(A[p]=B[j-1]\)。这样的复杂度是\(......
  • 『模拟赛』多校A层冲刺NOIP2024模拟赛16
    Rank依托,给我烂完了(A.四舍五入唐题,赛时被硬控3h。发现枚举\(i\)是一个很没前途的选择,分成三段后仍然需要\(\mathcal{O(n)}\)去跑\(\left[1,\lfloor{\frac{i}{2}}\rfloor\right]\)这一段,复杂度仍是\(\mathcal{O(n^2)}\)的,只有30pts。正难则反,我们换个角度考虑枚......
  • [Flink/FlinkCDC] 实践总结:Flink 1.12.6 升级 Flink 1.15.4
    FlinkDataStream/API未变的重要特性虽然官宣建议弃用JDK8,使用JDK11+;但:仍继续支持JDK8个人猜测:JDK8的用户群实在太大,牵一发而动全身,防止步子扯太大,遏制自身项目的发展势头。依赖模块的变化版本变化flink.version:1.12.6=>1.15.4flink.connector.version:......
  • 1560 身份证号码
    #include<bits/stdc++.h>#definelllonglongusingnamespacestd;intmain(){//读取输入的字符串strings;cin>>s;//初始化有效性标志为1(有效)intf=1;//定义年、月、日变量inty,m,d;//从字符串中提取年、月......
  • 015_Kafka
    1kafka简介削峰填谷kafka的主要架构1)Producer:消息生产者,就是向kafkabroker发消息的客户端;2)Consumer:消息消费者,向kafkabroker取消息的客户端;3)ConsumerGroup(CG))::消费者组,由多个consumer组成。消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一......
  • Adobe Bridge 2025 v15.0 (macOS, Windows) - 集中管理创意资源
    AdobeBridge2025v15.0(macOS,Windows)-集中管理创意资源Acrobat、AfterEffects、Animate、Audition、Bridge、CharacterAnimator、Dimension、Dreamweaver、Illustrator、InCopy、InDesign、LightroomClassic、MediaEncoder、Photoshop、PremierePro、AdobeXD请访......
  • PIZZATO开关FR 515-M2R28的使用方法
    PIZZATO开关是意大利PIZZATO公司旗下的重要产品之一,采用聚酯玻璃增强性材料制造,具有2千万次的使用寿命,IP66防护等级,自熄性、抗振性良好,且双重绝缘。FR515-M2R28是PIZZATO开关的一种型号。关于FR515-M2R28的具体使用方法,由于没有详细的官方使用说明,一般而言,安全开关的使用......
  • python 备份文件,从 D盘 到Z盘。并且保留15天的文件
    备份文件,从D盘到Z盘。并且保留15天的文件importosimportshutilfromdatetimeimportdatetime,timedeltadefmove_and_clean_folders(a_folder,b_folder,keep_count=15):try:#获取前两天的日期yesterday=datetime.now()-timedelta(days=......
  • 第15天预编译
    预编译指令编译四步预编译->编译->汇编->链接预编译:整理代码,检查代码格式问题C语言文件分类运行时是否分配空间.cC文件->源文件:存储代码的实体运行需要空间.hH文件->头文件:存储各种声明声明只是为了告知有什么东西在当前的模块文件.c中定义#include文件包含#......