NOIP 模拟赛:2024-10-12
T1:
break 忘了写,于是 -20pts
离散化,若一个段被 \(\ge 3\) 个线段覆盖,无解;否则答案为 \(2^{cnt}\),\(cnt\) 为连通块个数。
这题卡常,要用 sort 离散化。
T2:
推式子,注意到轮数 \(\le \log n\) 即可。
T3:
对于同色限制区间,若两个区间有包含关系,只需要保留小的。
把剩下的区间按 \(r\) 排序。
\(dp[i]\) 表示填 \(1\sim i\),只满足所有右端点 \(\le i\) 的区间的方案数。
\(dp[i]=dp[i-1]\times s-no[i]\),其中 \(no[i]\) 表示填 \(1\sim i\)、至少不满足一个右端点为 \(i\) 的区间、满足所有右端点 \(\le i-1\) 的方案数。
那么,因为已经去重了,所以右端点为 \(i\) 的区间颜色互不相同。那么如果不满足了某一个右端点为 \(i\) 的区间,剩余右端点为 \(i\) 的区间一定都满足了。
因此 \(no[i]=\sum_{j|r_j=i}d_j\),其中 \(d_j\) 表示填 \(1\sim r_j\),不满足区间 \(j\) 的限制,满足所有右端点 \(\le r_j-1\) 的方案数。
接下来考虑 \(d_j\)。设与 \(j\) 同色且相交的区间为 \(j_0,j_1,j_2,\dots,j_k\),按右端点从大到小排序。则有 \(d_j=dp[l_j-1]-\sum_{s=1}^k d_{j_s}\)。
这是为什么?首先 \(dp[l_j-1]\) 已经满足了所有 \(\le l_j-1\) 的区间,但是它里面包含了可能使得 \(j_0\sim j_k\) 不满足的可能性(因为强制 \(l_j\sim r_j=b_j\),且 \(dp[l_j-1]\) 可能使得 \(l_s\sim l_j-1=b_j\))。下一步是计数 "使得 \(j_0\sim j_k\) 至少一个不满足的方案数"。
注意到因为 \(j,j_0\sim j_k\) 是按照右端点从大到小排序的,不包含,而且都有交集。
可以推出:\(l_{j_k}\le l_{j_{k-1}}\le \cdots\le l_{j_0}\le l_j\),\(r_{j_k}\le r_{j_{k-1}}\le\cdots\le r_{j_0}\le r_j\)。
强制 \(l_j\sim r_j=b_j\)。如果 \(j_x\) 不满足,显然有 \(j_{x-1\sim 0}\) 都不满足。所以 "使得 \(j_0\sim j_k\) 至少一个不满足的方案数" 可以分类为 "使得 \(j_s\) 不满足的方案数",每一类求和。"使得 \(j_s\) 不满足的方案数" 就是 \(d_{j_s}\)。所以 \(d_j=dp[l_j-1]-\sum d_{j_s}\)。
如何计算 \(d_j\)?因为区间排序后左右端点都有单调性,所以可以用一个队列 \(q[clr]\) 维护此时所有颜色为 \(clr\) 且还有用的区间。\(sum[clr]\) 表示 \(q[clr]\) 中所有区间的 \(d\) 之和。
除了区间去重,复杂度是线性的。
T4:
一种新的树的生成方式。
这个数据范围,一眼状压。考虑一颗以 \(u\) 为根的树 \(T\) 怎么生成:枚举 \(u\) 的一个儿子 \(v\),\(v\) 的子树为 \(T_0\),则可以先生成 \(T-T_0\),然后生成 \(T_0\),再连接 \(u,v\)。
令 \(dp[T][u]\) 表示使用 \(T\) 内的点构建一颗以 \(u\) 为根的生成树,最小的代价是多少。
转移则枚举 \(T_0,v\)(显然应该有 \(v\in T_0\)),然后 \(dp[T][u]\leftarrow dp[T-T_0][u]+dp[T_0][v]+dis(u,v)\times |T_0|\times (n-|T_0|)\).
这是 \(O(3^n\cdot n^2)\) 的。考虑优化。
注意到当固定了 \(u,T_0\) 时,\(dp[T_0][v]+dis(u,v)\times |T_0|\times (n-|T_0|)\) 只与 \(v\) 有关。考虑计算辅助数组 \(p[T_0][u]=\min_{v\in T_0}\{dp[T_0][v]+dis(u,v)\times |T_0|\times (n-|T|)\}\)。这可以在求出每个 \(dp[S][i]\) 时,枚举 \(j\) 更新 \(p[S][j]\)。复杂度 \(O(2^n\cdot n^2)\)。
于是 \(dp[T][u]=\min_{T_0\subseteq T}\{dp[T-T_0][u]+p[T_0][u]\}\),复杂度 \(O(3^n\cdot n)\)。

浙公网安备 33010602011771号