<Codeforces - 1305C> 同餘 + 鴿巢原理
http://codeforces.com/problemset/problem/1305/C
題意:
給定n個數,n個數兩兩做差取絕對值,所有差的絕對值做累乘,再對m取模,求這個模的值。
思路:
如果n > m,則n個數中必有至少兩個數對m同餘,模就是0,如果n < m,m又是1e3範圍內的,直接暴力即可。
AC代碼:
<Codeforces - 982C> 樹上dfs
http://codeforces.com/contest/982/problem/C
題意:
給你一棵n個結點的樹,問最多刪除多少條邊,使得每個點的強連通分量都爲偶數,不可能滿足條件時輸出-1。
思路:
推一下樣例,就會發現只有該結點子樹個數爲偶數時(根結點除外),纔可刪除它的上一條邊。如果結點數爲奇數,那麼刪除邊以後必然產生孤立點,輸出-1。結點數爲偶數時,進行樹上dfs,找出子樹個數爲偶數的結點。然後下面的圖解釋了樹上dfs以及回溯機制:
AC代碼: