Codeforces Round #174

acm_cxlove發表於2013-03-19

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

唔,RP好,又漲了點。。。。

div2 A:要麼直接列舉吧,要麼就是求n-1的尤拉函式值

div2 B:題目看不懂

div1 A:比賽的時候敲了個裸的線段樹,注意節點最多n+1個,cha了兩個人掛在這。或者 用BIT。
              當然最快的是用一個陣列標記一下,1-當前位置增加了多少。如果刪除的話,就累加到i-1,沒有寫,貌似掛      了不少人

div1 B:大概就是除了1位置不確定外,其它位置都是確定的,所以每次從1開始搜尋,如果再回到1說明出現了迴圈,其它位置記憶化一下就行了。

div1 C:有個神奇的條件就是,沒有兩個bi是一樣的,也沒有兩個ci是一樣的。所以所有的關係,所有的點的出度和入度都至多為1。當然有個trick是可能有環,如果有環的話結果是0。
否則的話,就是一些鏈了。但是直接揹包肯定會TLE
對於a1>a2>a3這樣的關係,可以進行重新劃分物品。
大概分成三個物品a1,a1+a2,a1+a2+a3。
這樣的話,如果取1個a2,必然至少取1個a1,如果取1個a3,至少也會取1個a1和1個a2
顯然這樣能維護a1>=a2>=a3的關係。
由於 a1>a2>a3>=0,那麼a1>=2,a2>=1,a3>=0,所以揹包裡先放2*a1+a2就行了,就是初始化的時候注意下。

div1 D:對於二元組(x,y)。如果y為奇數的話,那麼x%y==0,那麼顯然就是滿足的。因為x/y為中間項,然後兩邊擴充套件。那麼y為偶數的話,顯然平均項是XX.5的型別。大致就是y中2的冪比x中多一個,非2的冪的部分完全整除。
然後對於整個序列DP,求出最多有多少項是不需要動的,n-max(dp)就是解了。




相關文章