刷 shui 題記錄 2022 2

2022-09-21 05:09:08 字數 1002 閱讀 9915

\(\rightarrow \rm luogu\) 鏈結

對於這題,有乙個結論:

\[\text = 2 \times \text

\]注意,這裡的匹配是指將有邊相鄰的兩個點選為一組,每個點至多在一組中。

稍微證明一下這個結論。

考慮令 \(\mathrm~a = k\) 。

設 \(b\) 是 \(a\) 的乙個 \(k\) 階子式,我們只需要找到乙個 \(b\) ,滿足 \(\det b \ne 0\) 即可。因為鄰接矩陣是乙個對稱矩陣,因此這裡令 \(b\) 是從 \(a\) 對稱取出的(這裡指選擇的行編號集合和列編號集合相等),這樣對應著原圖取出 \(k\) 個點,以及它們之間的邊。

考慮行列式的定義:

\[\det b = \sum_ (-1)^\prod_^k b_

\]令後面的 \(\prod\) 有值,當且僅當 \(\forall i\in [1,k]\cap \mathbb^+, b_ = 1\) ,同時,乙個排列可以看成若干個環,因為原圖是一棵樹,因此排列的環的大小必須為 \(2\) ,因此,\(b\) 是由若干組有邊相連的點組成的,同時,選定了若干組點之後,有值的排列實際上是唯一的。

這時候需要讓組數最大,可以想到最大的組數是樹的最大匹配數。

因此 \(\mathrm~a = 2\times \text\) 。

有了上述結論,需要用樹形 \(\rm dp\) 計算出最大匹配數的期望值,可以設 \(f(u,0/1)\) 表示以點 \(u\) 為根節點的子樹的最大匹配數的期望值,然後做子樹合併即可,也可以設 \(f(u)\) 為節點 \(u\) 和其兒子匹配的概率,這樣的話可以將每個節點的 \(f(u)\) 乘上 \(2^\) 貢獻到答案中。

\(\rightarrow \rm luogu\) 鏈結

設 \(a,b\) 為組成答案的字串,可以想到 \(\max\ = |t|~\mathrm~|t|-1\) 。分類討論:

\(\mathrm\) 要用雙模數和隨機模數。

10 14 10 25刷題(shui)記錄

bzoj 2459 和堵塞的交通很像,也要考慮繞著區間走,但此題要求最短距離。bzoj 3175 二分圖,每個點向他能夠攻擊到的點連邊,跑最大權閉合子圖 總點數減去匹配數 bzoj 2462 機房有個人說全輸出1就可以了,然後我試了試,結果a了。2333 bzoj 3997 考慮一下乙個點無法撿到的...

OI刷題記錄

2014 4 18 poj3264 bzoj1699 balanced lineup rmq 2014 4 19 bzoj1012 jsoi2008 最大數maxnumber noi2004 鬱悶的出納員 bzoj3224 tyvj 1728 普通平衡樹 2014 4 20 bzoj1862 105...

面試刷題記錄

寫一段 判斷乙個包括 的表示式是否合法 注意看樣例的合法規則。給定乙個表示式a,請返回乙個bool值,代表它是否合法。測試樣例 a b 5 4 返回 true 測試樣例 a b 5 4 返回 false include vector include iostream using namespace ...