2024.2.15 模拟赛
省流:rk 41/58,被吊打了。
别问我为什么题面没 LaTeX,问就是懒。
T1
你现在有 nn 个数 {ai}{ai},现在他会对这些数做一些神秘的操作,规则如下:
首先他会随便取出两个数 aiai 和 ajaj (i≠j)(i=j).
如果 aiai 和 ajaj 奇偶性相同 , 可以将 aiai 和 ajaj 合并成 ai−ajai−aj 或 aj−aiaj−ai , 并将新的值放回.
如果 aiai 和 ajaj 奇偶性不同 ,可以将 aiai 和 ajaj 合并成 ai+ajai+aj , 并将新的值放回.
注意到每进行一次之后手上的数都会减少一个,你想知道当进行过 n−1n−1 次操作之后,即手上只有一个数的时候,这个数的权值有多少种可能性。
对所有测试点数据,保证 1≤n≤200,1≤ai≤1001≤n≤200,1≤ai≤100。
发现这个就类似于并查集,但我场上没发现奇偶的关系。
观察何时一个数能对最终的答案有正/负的贡献。
- 奇数:合并时必为一正一负,最终一半是正一半是负。
- 偶数:可以沿着奇数合并(先合进奇数再和其他厅奇数合并)
然后就结束了。
场上打了个指数暴力。都打出暴力了,为什么不观察数据呢?
T2
你有一棵包含 NN 个顶点的有根树。顶点 11 是根,其他 N−1N−1 个顶点都有且仅有一条入边。每个顶点 ii 有 CiCi 个人居住。
最初,所有边都是蓝色的。你可以将一条 蓝色路径 成一条 红色边。具体来说,当有 kk 条蓝色边时,(a1,a2),(a2,a3),⋯ ,(ak,ak+1)(a1,a2),(a2,a3),⋯,(ak,ak+1),你可以将它们替换为一条红色边,(a1,ak+1)(a1,ak+1)。你可以执行这个操作任意次数。
你的目标是防止人员之间的接触,所以你希望尽量减少总接触次数。
总接触次数是指那些生活在 不同顶点 的人员对 (A,B)(A,B) 的数目,其中 AA 和 BB 可以通过边(无论颜色如何)由 AA 访问 BB 。注意,边是 有向的。
请找出在树上进行一些(可能为零次)操作后可以实现的最小总接触次数。
对于所有数据:对所有测试点数据,保证 1≤N≤2×105,1≤Pi≤N,1≤Ci≤10000001≤N≤2×105,1≤Pi≤N,1≤Ci≤1000000
观察到每条红边最终都会是某个点连向某个叶子。然后场上写了个假树形 dp。大概 \(20\) pts。
正解是李超树优化 dp。\(dp_{x,y}\) 表示 \(x\) 的子树里除 \(y\) 外都被合并了的最小值。然后转移是 \(dp_{x,t}=\min\{dp_{y,t}+c_xc_t\}\),发现只用记录这些直线即可。树形 dp,扫完子树用李超树合并。
T3
题面见 gym103119B。
AC 自动机写成了 WA 自动机,怎么回事呢?
CF 原题过了,但在 Marsoj 上一直 TLE 后面几个点。加了火车头过了。

浙公网安备 33010602011771号