Codeforces Round #181 (Div. 2)

acm_cxlove發表於2013-04-26

轉載請註明出處,謝謝http://blog.csdn.net/ACM_cxlove?viewmode=contents    by---cxlove


A:把所有數按正數,負數,零分一下。
      對於乘積為負數的那一組,只需要一個負數。
      然後看一下剩餘負數個數,如果為奇數,則把一個負數加入到零那組,剩下的所有負數和正數乘積為正數。
      最後就是零那組。

B:並查集,求一下每個連通塊的個數。如果有大於3的,直接輸出無解。
      剩下的肯定是個數為3的單獨一個集合,個數為2的集合如果大於個數為1的集合,則為無解。

C:長度為n的數字,只有兩種數字可以出現,所以就列舉其中一種字母個數,另外一種字母個數就知道了。然後check一下和。如果是good number說明可行,那麼種類就是一個組合數。

D:其實就是有多條鏈。。。無法再分解的如1,2,4,6,8……,然後能分解一次的有3,5,9,13,17……
dp[i][j]表示在第i層,j步操作的情況總數。
大概可以搞出個k^4log(n)的DP。4個分支,可以兩兩列舉,然後就可以搞到k^2*log(n)

E:大概想法就是求出分母中每個質數為因子有多少個,然後二分分子。
      但是容易超時,所以在求分母中每個質數為因子的個數的時候,要非常優越 
 

相關文章