链接。
T2
绝对值最小值,可以把原式化为两个只有一个绝对值的式子,set 维护即可。
T4
dp 用记忆化搜索加 unordered_map 实现的,要经过一些处理保证均摊单次转移时间复杂度是 \(O(1)\) 的。
平时要注意计算时间复杂度要从最大的方面考虑,dp 时间复杂度是状态数量乘单次转移时间,考虑一下极端情况。实际上,这道题可以用滚动数组直接循环处理的。
T3
普通的次方求和套路。
T5
最长上升子序列。可以看到,最优解一定是用每一段的一个后缀拼接成的。设 \(f_i\) 表示以 \(r_i\) 为末尾的最长上升子序列长度。则转移为:\(f_i=\max_{j=1}^{i-1}\{[r_j<l_i](f_j+r_i-l_i+1),[l_i\leq r_j < r_i]((f_j-r_j)+r_i)\}\),前一种情况可以用树状 数组维护,后一种情况看似是区间最大值,实际上 \(r_j\ge l_j\) 是不影响结果的,所以可以用树状数组维护后缀最大值。
这道题的处理启发如果是区间的限制,可以思考下是不是两边的限制都是需要的,如果不是能可以有更简单的维护方法。
T6
题解。
如果在 OI 赛制遇到这种大分讨,尽量想到所有情况吧。同时 OI 赛制中某些数据点的特殊性质可能会提示你有哪些特殊情况。
T1
很明显,把这道题放在第一位是有原因的。
构造题。首先可以根据回文的性质推出 \(k\) 的问题是和 \(k \mod 2n\) 以及 \(2n - k\) 的问题是一样的,就能直接构造了。
构造题的方法有很多种,其中一种方法是分为或化为简单问题,这个是构造题的第一步,然后才开始高级的东西。
标签:练习赛,赛制,题解,复杂度,THUR,构造,这道题,2023.6,dp From: https://www.cnblogs.com/recollect-the-past/p/17981266