題目描述
思路
1. dp[i][j] 表示前 i 個操作中有 j 個入棧操作的方案數
2. dp[i][j] = dp[i-1][j-1] + dp[i-1][j], 其中 j >= i/2.
3. 為了方便起見, 非法的狀態為 0, 比如 dp[3][1] = 0
**
/** source.cpp
* * created on: 2014-4-4
* author: vincent
*//*
* dp[i][j] 前 i 個操作中有 j 個入棧操作的種類
* dp[i][j] = dp[i-1][j-1] + dp[i-1][j]
* 其中, (i-j) <= j
*/#include #include #include #include using namespace std;
int dp[1010][1010];
int cal(int n)
} }return dp[n][n>>1];
}int main()
return 0;
}
九度OJ 1547 出入棧 動態規劃
題目描述 給定乙個初始為空的棧,和n個操作組成的操作序列,每個操作只可能是出棧或者入棧。要求在操作序列的執行過程中不會出現非法的操作,即不會在空棧時執行出棧操作,同時保證當操作序列完成後,棧恰好為乙個空棧。求符合條件的操作序列種類。例如,4個操作組成的操作序列符合條件的如下 入棧,出棧,入棧,出棧 ...
出入棧 九度1547 卡特蘭數 快速冪取餘
慢慢也發現自己的確跟不上節奏了。明明acm該是個狠好的選擇。可是時間至此時此刻,不能說沒有機會 只能說甚微了。為了自己的保研大業,在各種oj上亂刷幾題,也算是對自己的安慰。題目 題意 給乙個空棧和n步操作,保證每一步操作合法並且最終結果保證粘依舊為空。思路 奇數次操作一定輸出0,然後dfs輸出偶數次...
順序表示的棧 順序棧2 出入棧操作
出棧和入棧 利用順序棧的基本操作,將元素a,b,c,d,e,f,g,h依次入棧,再將棧頂元素即h,g出棧。然後把x,y入棧,最後將元素全部出棧,並依次輸出出棧元素。seqstack.h pragma once include using namespace std define stacksize ...