聯賽模擬測試32

2022-02-01 17:37:39 字數 1247 閱讀 7205

第一二個測試點直接 \(o(nm)\) 暴力就可以了吧。但是需要注意 1e4 * 1e4 要卡常, t 掉的大概吧把 max 函式手寫一下,寫成 #define max(a,b) (a>b?a:b)就可以了

for(int i=1;i<=q;++i)

}

第乙個點設f[i][j][k][l][r]分別表示5個點都剩下多少,記憶化搜尋。

第二個點的 \(a_i <= 1\) 就是 \(\frac \),當 \(n == 2\) 時,最後必然是 \(a_1\) 選完, \(a_2\) 可能選完,可能不選完,分情況討論,如果不選完,設 \(a_2\) 選 \(i\) 個,首先確定最後乙個必然是選擇 \(a_1\),前面是排列組合,最後結果是 \(\sum\limits_^ c^_\times(a_1 + i)\times(\frac)^\) ,如果選完的話,設選完所有 \(a_2\) 後還剩 \(i\) 個 \(a_1\) ,那麼最後結果就是 \(\sum\limits_^ c^_\times(a_2+a_1)\times(\frac)^\)

\(a_i < 2\) 設 \(g_i\) 表示i以上偶數字有幾個是1,直接遞推就能求出,然後計算用 \(g_u + g_v -2 \times g_\) ,\(f_i\) 記錄 \(a_i\) 之和,然後直接計算

其他大概直接暴力就可以了,我的寫法就是先跑樹剖 lca,然後在從 u 和 v 依次向上跑到lca處,然後 u 的話 xor 的值從 0 向上加, v 的話從 \(dep_u+dep_v-2*dep_\) 開始減到lca處,最後就是答案,效率是 \(o(n^2)\)

#define v edge[i].to

long long search(register const int u,register const int zd,register const int cd)

long long search2(register const int u,register const int zd,register const int cd)

#undef v

inline long long lca(register int x,register int y)

lca=dep[x]ans=a[lca]|(dep[u]-dep[lca]);

ans+=search(u,lca,0);

ans+=search2(w,lca,dep[u]+dep[w]-2*dep[lca]);

return ans;

}

聯賽模擬測試32

a.迴圈依賴 思路對了 dfs 判環打掛了沒啥好說的 下午來了 tarjan 一遍碼過 但還是學習了一下凱爹的 dfs 可能魔改過了一些地方?總之學廢了,注意判自環 b.a開始迴圈依賴 20pts 暴力隨便打 考場上本來想按照值域預處理一下 看到 10000 就爪巴了 至於 a i 1 的情況只想出...

聯賽模擬測試32

開始更暴力 不會能拓撲還有人寫tarjan吧?不會吧,不會吧,不會那個人就是我吧 寫了乙個假的貪心,把詢問離線下來,每次向前 或向後 掃,類似指標,但是是錯的,莫名過了第7,8個點 對於所有 1 ans n 1 2 其他的點直接記憶化搜尋,記錄f i j k l s 為 i j k l s 時的期望...

聯賽模擬賽32

顯然我們只需要雜湊然後判環就行了。首先考慮20分暴力,對於每個 x 列舉 n 種答案,取 max 假的二次函式,我們除以乙個 x 根據 x 的正負,分類討論維護凸包即可。10分暴力 記憶化搜尋 20分暴力 10分暴力 所有值都為1的情況,列舉走幾步取完,每多一步,概率的分母就少 1 然後列舉一遍求和...