字典序
当下标是用字符串构成的数字的时候,就有两个顺序
■字典序
按照字典序,每个元素当作字符串,因此10、11以1开头排在2前面,1 10 11 2 3 4 5 6 7 8 9 . . .
■数字自然的顺序
按照自然顺序:1 2 3 4 5 6 7 8 9 10 11 . . .
杨辉三角
我们解题时,一般并不会把整个杨辉三角模拟出来,因为容易爆内存.所以使用基本规律就很被动.
为解决此问题,常用它的一个重要性质.
■ 第n行的m个数可表示为
C
n
−
1
m
−
1
C_{n-1}^{m-1}
Cn−1m−1,即为从n-1个不同元素中取m-1个元素的组合数。(n,m从1开始)
其中 :
C
n
m
=
n
!
m
!
×
(
n
−
m
)
!
C_{n}^{m}={{n!}\over{m!\times(n-m)!}}
Cnm=m!×(n−m)!n!
由此公式得到推导后的杨辉三角推导(依次类推):
C
0
0
C_{0}^{0}
C00
C
1
0
C
1
1
C_{1}^{0} \ \ \ \ \ \ \ \ C_{1}^{1}
C10 C11
C
2
0
C
2
1
C
2
2
C_{2}^{0} \ \ \ \ \ \ \ \ C_{2}^{1} \ \ \ \ \ \ \ \ C_{2}^{2}
C20 C21 C22
到这里,我们能够较为容易想到通过迭代来避免重复运算.
迭代公式如下(n代表第几行,m代表第几个):
n
→
n
−
m
m
←
1
{{n \rightarrow n - m}\over{m \leftarrow 1} }
m←1n→n−m