NOIP20240704
NOIP20240704
T1 MooTube
- 题意:每次给一个起点,然后询问和他相连的点的边权比 \(k\) 大的点有几个路径边权是两点连接的所有路径上最小值。
- 题解:我们用并查集维护连通块,对于每个询问,我们将边权大于等于给定的边权 \(k\) 的边加入图中,对于一个点 \(v\),满足条件的点数为其所在连通块大小 \(−1\)(不包括这个点本身)。
- 代码
T2 atlarge
- 题意:刘泷心在一棵根为 \(K\) 号节点的树根上,要求在叶子节点上放置潘奕帆并最小化潘奕帆数量(潘奕帆可移动),使和潘奕帆速度相同的刘泷心在不接触到潘奕帆的前提下无法走到任意一个叶子节点。
- 题解:树形
DP
。
当我们将刘泷心的出发点作为树的顶点时潘奕帆的出发点就是树的叶子节点,到顶点的路径只有一条。所以只需要将每一个叶子节点到顶点的路径对半分,得到从这个叶子节点出发抓到刘泷心时的节点。然后DFS
即可。 - 代码
T3 Stamp Painting
- 题意:有 \(n\) 个格子,\(m\) 种颜色覆盖,每次覆盖 \(k\) 个格子,可重复覆盖,问有多少种结果?
- 题解:先用排列组合算出没有 \(k\) 这个限制条件的所有可能方案,即n的m次方。再算出不符合方案的情况,也就是没有一个长度至少为 \(k\) 的相同颜色的块减去即可。因为我们规定不能有长度超过 \(k\) 的块,所以最多只有连续 \(k-1\) 个格子颜色相同。所以
DP
方程为:
\[ f_0=1\\
\]
\[ f_i=f_{i-1}\times m(i<k)\\
\]
\[ f_i=\sum_{f_{i-1}}^{f_{i-k+1}} \times (m-1) (i>k)
\]