Loading

2025.3.29 清华大学-郝泽旭 的模拟赛

2025.3.29 清华大学-郝泽旭 的模拟赛

波斯菊(a)

问题描述

有一个树有 n 个点,初始树上有 k 个棋子(位置互不相同)。

现在每个时刻可以让一个棋子移动一条边。

我们需要让这 k 个棋子总过走过 n 个点,而且每个点只能被恰好一个棋子走到(可以被这个棋子走多次,但只能是这个棋子)。

求最小的时刻使得 n 个点都做过。

数据范围与约定

本题采用捆绑测试,每个子任务有5个测试点。

\(2≤n≤500000,1≤k≤n\)

子任务编号 n≤ k≤ 特殊性质 分数
1 10 n 6
2 20 n 13
3 2000 n 27
4 500000 1 10
5 500000 2 7
6 500000 n 每个点最多与两个点相邻 7
7 500000 n 30

原题可以转化为给定了 \(k\) 个起点,求 \(k\) 个终点,使得路径两两无公共点的所有路径之和的最大值。

注意到先上再下的路径可以拆成两部分,即从关键点开始先向上到达一个点后再向下可以看作一条从关键点向上的路径与一条从非关键点向上的路径相合并。

于是设 \(dp_{u,0/1/2}\) 表示节点 \(u\) 处,下面连着一个关键点/下面连着一个非关键点/下面没有连点的方案数,即可转移。

芦荀花(b)

问题描述

有一个树有 \(n\) 个节点,现在你求出了他的 \(dfs\) 序。

具体来说流程如下:

  1. 设置时间戳 \(T = 0\),将树转为以 \(1\) 为根的有根树。并将每个节点的儿子按照节点标号从小到大排序。
  2. 访问节点 \(1\)
  3. 当前在访问节点 \(u\),将$ T=T+1$,然后将 $dfn_u $设置为 \(T\)
  4. 按照节点编号顺序方位 $u $的儿子,重复操作 3。

求出 \(dfn\) 序之后,有 \(q\) 个询问形如$ k,l_1,r_1,⋯,l_k,r_k\(,令\)S = {{x \mid \exists \ i ,\ dfn_x \in [l_i,r_i]}}$,也就是 \(dfn\) 序在任意一个区间里的节点。

保证 \(l_i,r_i\) 不交,且端点递增。

现在你可以选择任意一个点\(u∈S\)并且空降到那里。

然后可以走树边到相邻的点\(v\),也可以直接跳跃到另一个点\(v\) , 其中要求 \(v∈S\)

现在你希望访问 $ S $ 中的所有点,求最少进行多少次跳跃操作。

特殊的,这里有一个变量 \(b∈\{0,1\}\)表示是否强制在线。

数据范围与约定

本题采用捆绑测试,每个子任务有5个测试点。

对于 100%的数据,\(1≤n,q≤5×10^5,0≤b≤1,1≤k≤5×10^5,∑k≤5×10^5,1≤l_i≤r_i≤n,r_i<l_{i+1}。\)

子任务编号 n,m,∑k≤ b= 特殊性质 分数
1 \(2000\) 1 10
2 \(10^4\) 1 10
3 \(5×10^4\) 0 10
4 \(10^5\) 0 10
5 \(2×10^5\) 0 10
6 \(5×10^5\) 0 10
7 \(5×10^5\) 1 k=1 10
8 \(2×10^5\) 1 k≤5 10
9 \(2×10^5\) 1 10
10 \(5×10^5\) 1 10

连通块个数是点数减边数。

现在就是要考虑总共包含了多少边数。先用dfn代替点的编号。

有一个做法是枚举每个点看其父亲节点在不在 \(S\) 中,单次复杂度 \(\mathcal O(n)\)

有另一个做法是, 对于一条边 \((u,v),\exists i,j,u\in[l_i,r_i],v\in [l_j,r_j]\),那么这相当于是一个矩形,由于有 \(k\) 个区间,相当于是查询 \(k^2\) 个矩形中的点数,这用主席树做到单次 \(\mathcal O(k^2\log n)\)

神奇的启发式,来啦!让我们聚在一起吧,说时迟,那时快,\(k^2\log n<n\) 时用算法二否则用算法一,则复杂度为

\[\max\sum_i \min(k_i^2\log n,n) \]

又因为 \(\sum k\le n\),所以最后复杂度为 \(\mathcal O(n\sqrt{n\log n})\) 可以过 \(80\) 分。

豆蔻花(c)

问题描述

有一个网格总共 n 行 m 列,形成了 n×m 个格子,每个格子里要放一朵花。

可以放置的花有 3 种颜色可以选择,分别用 0,1,2表示。

花朵注视着它周围的花,并想要变成其他花朵的样子。如果在一个时刻,一朵颜色为 c 的花的上、下、左、右之一,有至少一朵花的颜色为 c−1,那么这朵花在下一个时 刻会变成颜色 c−1,否则它在下一个时刻的颜色仍然是 c。其中颜色 \(mod3\)考虑。 对于一个初始的在调色盘中放花的方案,如果经过有限个时刻之后,所有花都变成同一颜色,我们称这个放花的方案是美好的

不难看出,对于一个美好的放花方案,每朵花都有一个最早的时刻,它在这个时刻之后一直不变色。我们称这个时刻为这朵花的稳定时刻 。我们从第 0 时刻开始计时,所 以一朵花如果从未改变颜色,那么它的稳定时刻就是 0。

现在我已经在调色盘的一些格子中放置了花朵,也有一些格子是空的。我想知道,有多少种给剩余的格子放花的方案,使得这个方案是美好的?以及,对于这些美好的方案,位于第 1 行第 1 列格子中花朵的稳定时刻的总和是多少?

答案对 \(998244353\)取模。

数据范围与约定

本题采用捆绑测试,每个子任务有5个测试点。

对于 100%的数据,\(1≤n,q≤5×10^5,0≤b≤1,1≤k≤5×10^5,∑k≤5×10^5,1≤l_i≤r_i≤n,r_i<l_{i+1}。\)

子任务编号 n,m,∑k≤ b= 特殊性质 分数
1 \(2000\) 1 10
2 \(10^4\) 1 10
3 \(5×10^4\) 0 10
4 \(10^5\) 0 10
5 \(2×10^5\) 0 10
6 \(5×10^5\) 0 10
7 \(5×10^5\) 1 k=1 10
8 \(2×10^5\) 1 k≤5 10
9 \(2×10^5\) 1 10
10 \(5×10^5\) 1 10

posted @ 2025-03-29 17:12  lupengheyyds  阅读(37)  评论(0)    收藏  举报