【题单】wmr & wjr 第六次讲题
P10871 [COTS 2022] 皇后 Kraljice
上界:\(n\) 是奇数可以填满,\(n\) 是偶数可以填到 \(n^2-2\)。增量构造即可。
这里写一个我自己的乱搞:
发现按照行从上往下尽量填好像是可以填完的,那么我们用两个 set 维护一行的可填状态,每次找到最靠上的最左侧的填。
但是发现如果到最后两行有问题,你如果先把倒数第二行填完了那么最后一行就无解了。我们考虑按照还没填的格子的数量从大往小填。
然后又发现当 \(n\) 较大的时候倒数第三行填右侧的格子的时候会消耗倒数第二行左侧的格子,这时候我们让倒数第二行的取值从右往左开始取就好了。
\(n\) 是偶数的时候空出 \((1,n)\) 和 \((2,1)\)。
CF750F New Year and Finding Roots
- 21 次:直接从一个点开始跑,直到跑到一个叶子。然后从叶子开始跑,每次跑到一个新的叶子我们就知道路径中点是 LCA,从他继续拓展。一开始问叶子的信息可以复用。
最坏情况:从叶子开始每次都走错岔路,这样是 1+2+3+4+5+6=21。 - 17 次:最后一个链不用问,可以少 4 次。
- 16 次:只剩 3 个节点要走的时候可以直接 bfs,次数 1+2+3+4+6=16。
P14311 【MX-S8-T4】平衡三元组
暴力:枚举 \(y\),然后 \(B_x,B_z\) 一定是取前缀最大值/后缀最大值。
于是 \(B_x,B_z\) 中一定有一个是全局最大值。
考虑 \(B_x=\max\) 的怎么做。
依次从左往右考虑所有的 \(B_z\):
- 对于 \(B_y\le B_z\) 的那些 \(B_y\),显然是满足条件的,我们求区间最大值即可。
- 对于 \(B_y>B_z\),\(B_y\) 一定是上个后缀最大值。若 \(2B_y\le B_x+B_z\),那么可以返回了。
否则,有 \(B_x-B_y<B_y-B_z\),这样的事件只会发生 \(\log V\) 次。
于是找 \(\log n\) 次后缀最大值即可,时间复杂度 \(O(n\log n)\)。
浙公网安备 33010602011771号