1962年CCF成立
1984年NOI首次舉辦
1995年noip首次舉辦
2019年CSP非專業組首次舉辦
前序、中序、后序遍歷:先訪問當前節點,或在中間訪問,或在最后訪問
前序遍歷即為DFS序
哈夫曼編碼:哈夫曼編碼,主要目的是根據使用頻率來最大化節省字符(編碼)的存儲空間。
https://blog.csdn.net/qq_36653505/article/details/81701181
例題:
[TG2011]
現有一段文言文,要通過二進制哈夫曼編碼進行壓縮。簡單起見,假設這段文言文只由4個漢字“之”、“乎”、“者”、“也”組成,它們出現的次數分別為700、600、300、400。那么,“也”字的編碼長度可能是( )。
兩種組成方式:300+400,得到700,然后和600拼接,得到1300,然后和原來的700拼接,長度為3
如果600和700先拼接,那么長度將僅為2
Catalan Numbers
設h(n)為catalan數的第n+1項,令h(0)=1,h(1)=1,catalan數滿足遞推式:h(n)= h(0)h(n-1)+h(1)h(n-2) + ... + h(n-1)*h(0) (n>=2)
則有h(n)=C(2n,n)/(n+1)
https://blog.csdn.net/wookaikaiko/article/details/81105031
康托展開(應用於全排列)
公式:設一個全排列為{a1,a2,...an}
則rank=a1(n-1)!+a2(n-2)!+...+an*1
逆康托展開:逆運用,
首先對於rank,我們先除以(n-1)!,然后商是幾即為前面已經排了幾個
之后用余數除以(n-2)!,以此類推
https://blog.csdn.net/ajaxlt/article/details/86544074
時間復雜度計算整理:
https://www.luogu.org/discuss/show/155153?page=2
OrzOrzOrz
P類問題&&NP類問題&&NPC類問題&&NP hard類問題
P類問題:存在多項式時間復雜度解法的問題
NP類問題:能在多項式的時間復雜度下驗證某解是否為正確解的問題(P類、NPC類問題為其子集)
NPC類問題:大概就是只能搜索的題,可以在多項式時間內轉化為NP類問題,但是沒有多項式時間復雜度解法的問題
NP hard類問題:可以在多項式時間內轉化為NP類問題,但不一定NP問題(NPC類問題為其子集)