棧
(組合計數,卡特蘭數)o(n
2)
o(n^2)
o(n2)
首先任何一種合法的入棧、出棧操作序列都可以得到乙個不同的1~n的排列,因此可以得到的排列總數等於合法入棧、出棧操作序列的個數。
該問題等價於求第n
nn項cat
alan
catalan
catala
n數。在本題中我們使用公式 cnm
=cn−
1m+c
n−1m
−1
c_n^m=c_^m+c_^
cnm=c
n−1m
+cn
−1m−
1來計算卡特蘭數。時間複雜度是 o(n
2)
o(n^2)
o(n2)。
#include
#include
#include
#include
using namespace std;
const int n=40
;typedef long long ll
;int n;
ll c[n]
[n];
int main()
NOIP2003 普及組 桌球
這是一道模擬題。模擬題 使程式按照題目所敘述的方式進行,模擬整個過程。模擬演算法其實就是給你一堆資料,設計程式將整個模擬過程走一遍,然後得出結果。題目怎麼表述的,程式就怎麼執行。所以模擬題對於演算法設計的要求不高,但是需要選擇合適的資料結構來進行模擬。參考 模擬題考驗的是我們的 實現能力,簡單的模擬...
NOIP2023年普及組題解
這是第一題 首先,在做題之前要注意兩個地方 e 不一定出現在文字的末尾,也不一定出現在某行的末尾 比賽必須要領先2個球才能獲勝,11 10的比分是不存在的 好了,廢話不多說,直接上 include include include include include using namespace std...
數字遊戲 noip2003普及組
題目描述 丁丁最近沉迷於乙個數字遊戲之中。這個遊戲看似簡單,但丁丁在研究了許多天之後卻發覺原來在簡單的規則下想要贏得這個遊戲並不那麼容易。遊戲是這樣的,在你面前有一圈整數 一共n個 你要按順序將其分為m個部分,各部分內的數字相加,相加所得的m個結果對10取模後再相乘,最終得到乙個數k。遊戲的要求是使...