2012年3月3日 星期六

Codeforce 145C Lucky Subsequence

每次寫數學題都寫到快瘋掉,麻煩死了...
可是這題code很短,很可愛XD
但卻包含很多的東西:
1. 模逆元 2. 求nCm 3. 奇怪的dp( "F" reak )
模逆元很好寫,就用簡單的延伸輾轉相除法(ext_gcd)
C的話可以用漸進式縮成一行,看起來很屌
F的話比較酷,前面都很好想,就F很難想。
我想到的就是把全部分成,lucky跟unlucky。
lucky的存每一種有幾個,unlucky就只要存有幾個
而所有的可能,就是
設unlucky有 n 個,lucky有 l 種
for( i=  0~l ) n C k-i * F[ i ] 全加起來=ANS
F[0]=1
F[1]=ty1+ty2+ty3...
F[2]=ty1*ty2+ty1*ty3+ty2*ty3...
....

http://codepad.org/ADtGgdBQ

1 則留言: