2013騰訊編程馬拉松複賽第一場(3月29日)

A. 略。
B. idfs() 或者 bfs() 均可。
C. 組合 DP。
。。首先忽略同組之間的差異。。那麼最後就是乘以一堆階乘。。這裡記作 pi 。。。
。。然後 f[i] 表示當前有 i 個粘著點時的方案數。。。
。。那麼轉移就是枚舉上回的粘著點、本回分成多少組以及破壞了上回多少個粘著點。。。
。。複雜度 O(n^4)。。(450*50*50*50)。。。
D. 做法有很多。。個人比較傾向暴力矩形切割。。。
E. 裸 AC 自動機 DP。。。

代碼。。
https://github.com/lychees/Exercise/tree/master/Online%20Contest/%E7%AC%AC%E4%BA%8C%E5%B1%8A%E8%85%BE%E8%AE%AF%E7%BC%96%E7%A8%8B%E9%A9%AC%E6%8B%89%E6%9D%BE/%E5%A4%8D%E8%B5%9B