MX-2025 盖世计划 C 班 Day 5 复盘
模拟赛 Day 5
\(\text{tot}=40+40+0+0=80\)
T1
给定一个 \(n\times n\) 的数字方阵,请用折线把这个方阵划分成两个集合 \(A,B\),要求折线单调不递增,并最小化 \(\max\limits_{x\in A}\max\limits_{y\in B}|x-y|\)。特别的,若 \(A,B\) 任意一个为空集,则代价为 \(+\infty\)。
思路
首先注意到,左下角(即 \(a_{n,1}\))一定会在折线下方,因为若不然,则根据折线单调不递增,代价为 \(+\infty\)。同理,右上角(即 \(a_{1,n}\))一定会在折线上方。
又因为代价的定义,所以我们希望差较大的数被分配在同一个集合内。
综上,答案为 \(\min\limits_{(i\ne n\ \text{and}\ j\ne 1)\text{or}(i\ne 1\ \text{and}\ j\ne n)}(\max\{|a_{n,1}-a_{i,j}|\},\max\{|a_{1,n}-a_{i,j}|\})\)。
错误分析
||->&& 100pts->40pts(关键是我自己搓的数据都跑过了 T_T)
T2
给定一个 \(n\times n\) 的字符方阵,每个字符为 . 或 X 分别表示可以或不可以摆放木棍。求最大的 \(l\),使得能够在方阵上放置两根不相交的 \(l\times 1\) 或 \(1\times l\) 的木棒。
思路
\(\mathrm{O}(n^2)\) 预处理方阵中所有可以摆放木棒的子串,然后二分答案 \(l\),\(\mathrm{O}(n^2)\) 的 check 是否存在合法解。总 \(\mathrm{O}(n^2\log n)\)。
错误分析
check 分割方阵的时候,没有考虑到同一行(或列)能放置两根木棒的情况,100pts->40pts。
T3
给定 \(n(1\le n\le 10^5)\) 个 OIer,\(m(1\le m\le 5)\) 场考试的排名。定义两个 OIer \(x,y\) 的“膜拜距离”为 \(x\) 通过向任意一场考试中排名低于自己的 OIer 不断转移得到 \(y\) 的最少次数。
有 \(q(1\le q\le 10^5)\) 次询问,每次询问 \(x,y\) 的“膜拜距离”,若没有则输出 -1。
思路
用类似倍增的思想,存储第 \(i\) 个 OIer 跳 \(x\) 次所能到达的排名最低的 OIer 的编号。之后再类似 LCA 的做法,求得把 \(x\) 跳到 \(y\) 的最少次数,即“膜拜距离”。
错误分析
一开始没有观察到 \(m\) 的范围可以倍增,于是转向 \(m=1\) 和 \(n\le 500\) 的特殊点;但又理解错题意,误认为是相邻的 OIer 才能膜拜,于是 40pts->0pts。
T4
给你一棵 \(n\) 个节点的树(带边权)。定义节点 \(u\) 和 \(v\) 的代价为 \(\operatorname{dist}(u,v)=a_u+\operatorname{dis}(u,v)\times b_u\)。
求从 \(0\) 出发到 \(1,2,\dots,n-1\) 的最小代价分别是多少。
思路
老师说要用点分数,于是就没讲了……

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号