数论
- 如果
a
a
a和
b
b
b互质,则
a
+
b
a+b
a+b和
a
∗
b
a*b
a∗b一定互质
Fib数列
-
f
i
b
[
i
]
+
f
i
b
[
i
+
1
]
=
f
i
b
[
i
+
2
]
fib[i]+fib[i+1]=fib[i+2]
fib[i]+fib[i+1]=fib[i+2]
-
2
f
i
b
[
i
]
=
f
i
b
[
i
−
2
]
+
f
i
b
[
i
+
1
]
2fib[i]=fib[i-2]+fib[i+1]
2fib[i]=fib[i−2]+fib[i+1]
-
∑
i
=
0
n
f
i
b
(
i
)
=
f
i
b
(
n
+
1
)
−
1
\sum_{i=0}^{n}fib(i)=fib(n+1)-1
∑i=0nfib(i)=fib(n+1)−1
组合数
杨辉三角
- 第n行的m个数可表示为
C
n
−
1
m
−
1
C^{m-1}_{n-1}
Cn−1m−1,即为从
n
−
1
n-1
n−1个不同元素中取
m
−
1
m-1
m−1个元素
-
(
a
+
b
)
n
(a+b)^n
(a+b)n的展开式中的各项系数依次对应杨辉三角的第
(
n
+
1
)
(n+1)
(n+1)行中的每一项。
- 第n行数字和为2n-1。
int LIS(int n){
int len = 0;
dp[1] = a[0];
for(int i = 0;i < n;i++){
int pos = upper_bound(dp, dp+len, a[i]) - dp;
dp[pos] = a[i];
len = max(len, pos+1);
}
return len;
}