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) \]

T4 Job Interview

  • 题意贺的:有 \(n+m+1\) 个人依次来面试,第 \(i\) 个人的编程能力是 \(a_i\),测试能力是 \(b_i\)。公司需要 \(n\) 名程序员和 \(m\) 名测试员。招聘规则为,编程能力强于测试能力的去当程序员,否则去当测试员,保证不存在两项能力相同的员工,如果岗位已满,则调剂到另一个岗位。公司的能力是所有程序员的编程能力与所有测试员的测试能力之和。求出对于每个人,如果其不参加面试,公司的能力。
  • 题解贺的
  • 代码贺的
    不想写了。
posted @ 2024-08-26 17:26  liukejie  阅读(3)  评论(0编辑  收藏  举报