Loading

记录一些在平常做题见到的算法和问题

1) 字符串的子串与子序列

子串必须连续是序列中连续的字符.

而子序列不必连续.

2)O(nlongn)求LIS和LCS

对于lis,记录f数组.

\(f_i\) 表示长度为 \(i\) 的 lis 最后一个数的最小值.

可以证明 \(f\) 数组单调递增.

按顺序处理每一个数.

当一个数进来的时候,二分查找即可.

对于lcs,本质上就是将其转化为lis再进行处理.

记两个字符串分别为 \(s_1\),\(s_2\),

记录\(s_2\)\(s_1\)每个字符出现的位置,将其组成一个新的数组\(s_3\),

\(s_3\)求lis即可.

3)

二次方的公式:\(\sum_{i=1}^n i^2=\frac{n}{6}\times (n+1)\times (2\times n+1)\)

三次方的公式:\(\sum_{i=1}^n i^3=(\sum_{i=1}^n i)^2\)

posted @ 2022-10-18 10:08  xkjie  阅读(25)  评论(0)    收藏  举报