ABC372 Review
A
语言基础题
B
类似于二进制拆分,就像跳 LCA 的时候一样,尽可能多地选大的即可。
C
一个位置的字母被改变仅仅会对相邻两个位置之类的答案产生影响,暴力统计即可。
D
对于每一个 \(i\) 去暴力地统计 \(j\) 显然是不可行的,所以可以转而想一想每个 \(j\) 会对答案产生多少个 \(1\) 的贡献。
那么很显然我们要做的就是找到每个 \(j\) 左边最近的第一个比 \(h[j]\) 高的 \(h[i]\) ,显然这符合单调栈的性质,那么我们在维护一个单调栈的同时进行二分查找即可。
E
通过双指针合并两个 vector 即可,注意如果暴力做还是会超时,我们最多只会关心前 \(k\) 大的数,那么每个 vector 一旦超过了 \(k\) 的上限 \(10\) 之后我们就直接跳出维护过程即可。
标签:暴力,Review,vector,即可,单调,ABC372 From: https://www.cnblogs.com/Hanggoash/p/18425722