NOIP 模拟赛 2023.07.04 题解--zhengjun

link

T1

转化为 (bi,ai)(bj,aj) 之间的斜率。

发现性质(省略),只需要计算相邻两个点之间的答案即可,用 set 就行了。

T2

先找性质,发现即为 a,b,c 各有某一位是“独特”(即其他两个数这一位与之不一样)的。

直接 O(82n) 记录各个状态,预处理转移优化一下即可。

T3

首先需要找到询问时,该节点的生成时间。

    _
   / \   _
 _/   \_/ \
/

例如用 / 表示加点,\ 表示上跳,那么只需要找到查询点之前第一个比它小的点,即为生成时间。

在询问序列上建立线段树,枚举操作序列中每个点的深度。

线段树维护区间加,单点查,查区间小于某数的最后一个数。

这种离线方法第一次发现,感觉有很强的扩展性

计算完生成时间就可以再次离线,计算区间中某个点被加点了多少次即可。

T4

一眼题,题目还看错了,好似。

注意【第 i 次占据距离为 i 的点】与【每次沿边扩张】的区别,前者若相遇,会继续扩张,后者不会。

直接建 dfs 树,拿出返祖边,然后拿出这些端点建个虚树。

这样一来,每个【不在环上的点】的状态就只由【与之最近的环上的点】的状态决定,直接预处理。

然后枚举最终答案在哪个位置,然后枚举虚树上的 O(200) 条边,计算答案。

分类讨论共 9 类,左端点 >,<,= 以及右端点,细节很多。预处理虚树上点之间的最短距离(Floyd)

特殊处理【经过当前枚举位置的新边】。

最后,只需要将点的个数树上前缀和即可。

赛时冲 T4 没冲出来,可惜了。

posted @   A_zjzj  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2022-07-04 洛谷 P3224 [HNOI2012]永无乡 题解--zhengjun
2022-07-04 洛谷 P3605 [USACO17JAN]Promotion Counting P 题解--zhengjun
2022-07-04 CF335F Buy One, Get One Free 题解--zhengjun
2022-07-04 洛谷 P4197 Peaks & P7834 [ONTAK2010] Peaks 加强版 题解--zhengjun
2022-07-04 洛谷 P1646 [国家集训队]happiness / YbtOJ「图论」第3章 网络流模型及应用 C. 【例题3】幸福值 题解--zhengjun
点击右上角即可分享
微信分享提示