标题被洛基叼走了
数的划分
将整数 n 分成 k 份,且每份不能为空,任意两个方案不相同(不考虑顺序)。
问有多少种不同的分法。
设 dp[i][j] 表示数 i 分了 j 份的方案数
分为两种情况 分的数中有一和无一
有一 : dp[i][j] = dp[i-1][j-1]
无一 : dp[i][j] = dp[i-j][j]
合起来 :dp[i][j] = dp[i-1][j-1] + dp[i-j][j] ;
特别的
if ( i < j ) dp[i][j] = 0 ;
if ( i == j ) dp[i][j] = 1 ;
序列个数
一个 N 的排列 $b1,b2,b3……bn $是符合下列条件的一个序列:
b1~bn 由 1~N 这 N 个数字组成
每个数字只出现 1 次。
现在我们想知道,对于任意一个数i ,要求满足 b1,b2……bi 中,小于等于 i 的数的个数恰好为 a[i] 的序列一共有多少个。
题意:位置和数都 <= i 的数才有贡献
两个关键字 , 还都是 <=
二维矩阵
横的是数,竖的是位置
ai 就是以 ( 1 , 1 ) 为左上角 ,( i ,i )为右下角这个矩形里 1 的个数
从内到外填 L 型的 1
ai - ai-1 = 0 不填
ai - ai-1 = 1 这个 L 型就填一个 1 有 \(2i - 1\) 个空位 ,\(ai-1\) 个 1 已经占上了 \(2 * ai-1\) 个行列 , 所以能填的就只有 \(2i -1-2*a_{i-1}\)
\(a_{i} - a_{i-1} = 2\) 每个臂上有 \(i-1\) 个空位,占了 \(a_{i-1}\)个行,有\((i - 1 - a_{i-1})^2\) 个
剩下的不合法