最长上升子序列
即从原序列中按顺序取出数字排列在一起,保证这些数字是递增(不包括相等)的。
CCF 总是喜欢考排列组合。自然不可能像计算机一样枚举,有组合的技巧。
求区间最大/小值,即Range maximum/minimum query(RMQ)。可以通过几种方法实现。
最简单实现的方法就是直接遍历。假设有 q 次查询,平均每次查询的长度为 n,则时间复杂度为 O(nq)。简单遍历自然是不行的。
通常用几种更快的方法实现,缺点各不同,如下。(单调栈,ST 表)
最短路即从某一结点到另一结点的路径,使其权值最小。这是一个动态规划问题。