1. 程式人生 > >2017多校遊記

2017多校遊記

去掉 每次 卡常 概率 大學生 狀壓 期望 出現 復雜度

Day 1

  賽前一個小時隊友才確定下來,雖然小朋友全都“叛逃”了,但人數好像不比前兩年少(我們變成大學生隊啦

  開賽10min,發現03是sb虛樹板子,速速拉來板子還又改又調了半個小時,居然還tm有一血?交完發現這才是我們隊第二個題,感覺怪怪的。。。

  隨後開了12,一副sb分治加讀入優化卡常的樣子,交了半天還是T的,然後發現還看錯題了,而且原題還tm更簡單,不過還是折騰了半天才過,其實最關鍵的讀入優化是從別的隊那裏借來的,聽說pku校隊為了這個獲得了26次罰時。。。交完12我們似乎已經7題,跑到rk3了,這2h到底發生了什麽?

  最後一個小時剛出來10,發現某帶隊老師已經寫完了,然後我們發現算法問題一大把,最後我還是幫忙把代碼調出來了,這時候我們已經9題了,罰時也超過一天了。最後3.5h的時候做完10題就集體退場了,rk3和罰時rk1一直保持到了終場

部分題解(待更):

1003:考慮一種顏色對於答案的貢獻:$n*(n-1)/2-\sum s_i*(s_i-1)/2(s_i為去掉這種顏色的點後每個聯通塊的大小)$,那麽建立虛樹後只要維護每個點下面已經被割斷的點的個數,和每個點屬於哪個子樹(只用於詢問操作),第一部分直接dfs即可,第二部分由於每個點作為祖先節點只會出現一次,直接用那指針掃一掃即可。復雜度$O(nlog n)-O(nlog n)$

1005:想了好長時間的狀壓,被同學提示直接叠代就可以了。由於$E=\sum\limits_{i=0}^{+\infty}P(i次不變為1)=\sum\limits_{i=0}^{+\infty}1-P(i次變為1)$,由於變為1,每個質數都是獨立的,且個數都要變為0。於是問題就轉化為一個數每次等概率變為一個不超過他的自然數,用j次變為0的概率,設$dp_{i,j}$為答案,有$dp_{i,0}=1,dp_{i,j}=\frac{\sum\limits_{j‘=0}^{j} dp_{i-1,j‘}}{j+1}$。由於數字$i$經過$j$次後期望為$i2^{-j}$,由於不為0的概率小於期望,大約只要叠代50次即可。復雜度$O(50Tm)-O(2500+m)$

2017多校遊記