牛客網暑期ACM多校訓練營(第一場)比賽總結

2021-08-21 14:40:18 字數 1370 閱讀 1160

雖然只做出了兩道題,但是感覺總結還是非常有必要寫的。

1、針對j題,區間查詢問題要先往線段樹、樹狀陣列這方面想,最後再想其他的,不要貪,還有思維靈活一些,早就該想到把區間轉化為連續的一段了。這樣再離線處理就很簡單了。據說還可以用主席樹或者莫隊。。。針對樹狀陣列離線處理的題目還有很多,這需要我們熟練掌握。

離線樹狀陣列:hdu 4417 hdu 3874 lightoj 1118 bzoj 2743 spoj 3267

2、針對d題,符號比較多的題,理解清楚每個符號表達的意思再做,然後就是能否想到二進位制編號hash去重的問題了。這種題目讀清楚題意,理清思路的話模擬一遍應該就出來了,如果不對,應該先考慮細節的問題。(long long、初始化、某個字母寫錯等)

3、針對a題,雖然之前在徐州邀請賽做過本質一樣的題,但是需要轉彎,就是能否想到實質上就是求兩條不相交的路徑(可重合)總數。套lindstrom-gessel-viennot lemma定理。答案是c(n+m,n)^2-c(n+m,m-1)*c(n+m,n-1) 這個結論已知在今年已經用了兩次,2023年區域賽上用了兩次。所以還是比較重要的

題目給出的合法矩陣是乙個類似與鄰接矩陣的樣式。 所以應該往這方面去考慮。 

每行之和等於2 , 代表每個點都連有兩條邊,可以有重邊 不能有自環。 

這說明 每個點屬於且僅屬於乙個環。 

因為輸入只有乙個n 

應該要往dp遞推的方向上去想。

現在開始找遞推式。 

定義dp[n]表示n個點構成的合法圖的方案數。 

思考每加入乙個新球,如何從已知狀態轉移。 

考慮從前面的n-1個球中選取一些球和新球組成乙個環。 

特殊考慮只取乙個舊球的情況, 

這種情況下這個舊球有n-1種方案 剩下的n-2個球組成的合法方案數已經求出。 

所以這種情況下 方案數為(n-1)f(n-1) 

推廣到一般情況 

當我們取k個舊球與新球組成環時,舊球的取法有c(n-1,k) 取出的舊球與新球組成環的方案數有(n-1-k)!種 

但是考慮對稱性 需要除以2。 又考慮到只取乙個球的時候不需要考慮對稱性 ,所以把這種情況單獨摘出來考慮。 

最後得到 dp[n]的遞推式就是 

dp[n] = (n-1) dp[n-2] + sigma(x:2->n-3)((n-1)!/(2*x!)dp[x]) 

但是這個東西有乙個討厭的sigma 我們可以通過相減的方法來消除這個sigma。

思路十分清晰,不過上述公式需要兩邊同乘n-1消sigma。最終結果為

dp[i]=(((dp[i-1]+dp[i-2])%m*(i-1)%m)-((i-1)*(i-2)/2)%m*dp[i-3]%m)%m;
至於f的插值問題,看題解和**是完全看不懂啊。。。下午再繼續研究一下吧。

牛客網暑期ACM多校訓練營(第一場)

j different integers 題 意 給你乙個數值元素為1到n,大小為n的陣列,q個詢問每次輸入 l,r 求a1 a2 a3 al,ar ar 1 ar 2 an中不同元素的個數 輸入範圍 1 n q 1e5 1 ai n 1 li,ri n the number of test cas...

牛客網暑期ACM多校訓練營(第一場)

考慮0和1的分界線,1和2的分界線,發現問題可以轉化為兩條不互相穿過的路徑的方案數 可重疊 題解的做法就是把一條路徑斜著平移,然後就轉化為不可重疊了。現在考慮,如何計算從 0,0 道 n,m 不相交不可重疊的方案數,一條從 0,1 出發到達 n 1,m 一條從 1,0 出發到達 n,m 1 將他們乘...

牛客網暑期ACM多校訓練營(第一場)

rank solvedab cdef ghij 67 338 3 10o o o o 當場通過 賽後通過 尚未通過 solved by chelly chelly s solution 比賽的時候是oeis找規律過的 我們把n m的矩陣畫出來並建立座標系,左下角的點是 0,0 右上角的點是 n,m ...