題目:展演隊型
問題編號:73
學校要每個班出乙個表演專案,但是為了讓隊伍裡的同學都露一下臉所以老師要求前一排的人必須比後一排的人少為了好看也不能相等,顯然這種無聊又無趣的工作又要由superwyh來做,superwyh很苦惱,於是superwyh就把這活推給sjh了,所以分配完任務後superwyh的職責就是統計一共有多少種可能來打擊一下sjh,所以各位oier再幫一下superwyh吧。
乙個數,代表班級人數(1<=n<=130)。
乙個數,所有可能樹。
2063
一、思路
一直沒想明白,該如何描述和定義最優解形式
究竟應該是,先找一種描述方式,還是應該先想下最優解是那種形式
覺得應該是先想最優解形式,然後找一種數學描述,轉換為,計算機
寫出遞迴式,記憶求解,或者從小向上記錄求解
f[i][j] = sum (f[i-j][k]) 1<=kf[i][j]表示i個人,最後一排有j個人時的排列數
二、演算法
1、讀入n
2、二重迴圈動規求解
3、輸出結果:sum = sum(f[n][j]) 1<=j
**如下
ac了#include int main()
; int i, j, k;
int sum;
//讀入人數
cin>>n;
//遞迴求解
f[0][0] = 1;
for (i=1; i<=n; i++)
{ for (j=1; j<=i; j++)
{ for (k=0; k
展演隊形 解題報告
學校要每個班出乙個表演專案,但是為了讓隊伍裡的同學都露一下臉所以老師要求前一排的人必須比後一排的人少為了好看也不能相等,顯然這種無聊又無趣的工作又要由superwyh來做,superwyh很苦惱,於是superwyh就把這活推給sjh了,所以分配完任務後superwyh的職責就是統計一共有多少種可能...
動態規劃 合唱隊形
一行數字要求從兩邊到中間依次增大,問給出的一行數字要去掉多少才能形成這種數列。可以任選乙個做中間數k,從1到n。然後求第乙個數到k的最長上公升子串行的長度la,再求最後乙個數到k的最長上公升子串行的長度lb。最後n la la 1 就是去掉的數字個數,減一是因為多算了乙個k。有些題需要幾個簡單的演算...
合唱隊形 動態規劃
description n位同學站成一排,老師要請其中的 n k 位同學出列,使得剩下的k位同學排成合唱隊形。合唱隊形是指這樣的一種隊形 設k位同學從左到右依次編號為1,2,k,他們的身高分別為t1,t2,tk,則他們的身高滿足t1 t2 ti ti ti 1 tk 1 i k 你的任務是,已知所有...