2024.9 做題記錄

yhddd發表於2024-09-03

9.1

arc108e

當已經選了 \(a_l,a_r\) 時,\((l,r)\) 與外面無關。區間 dp,\(dp_{l,r}=\frac{\sum_{k=l,a_l<a_k<a_r}^r dp_{l,k}+dp_{k,r}}{num_{l,r}}+1\)。維護 \(num_{l,r},\sum dp_{l,k},\sum dp_{k,r}\) 轉移。

9.2

P5188

模擬賽 T2。

容斥強行不選 \(s\) 這些材料,矩陣快速冪。

CF1949H

模擬賽 T3。

按對角線向後推,計算經過次數。不能經過 \(3\) 次。經過次數形如 \(0,\dotsb,0,1,2,\dotsb,2,1,0,\dotsb,0\)\(0,\dotsb,0,2,2,0,\dotsb,0\)。維護兩個 \(1\) 的位置 \(l,r\) 或是不是狀態 2。如果 \(0,\dotsb,0,1,2,1,0,\dotsb,0\)\(2\) 被禁止,去到狀態 2,否則如果有 \(2\) 的位置被禁止則無解。如果 \(l,r\) 有被禁止,每次 \(2\) 的區間 \((l,r)\) 會增加 \(1\),否則 \((l,r)\) 會縮短 \(1\)\(2\times n\) 個對角線後結束。

P10998

\(d_u<d_v<d_w\) 排序,對於每個 \(u\)\((v,w)\) 進行三元組計數。

\(m\) 條邊的三元組計數 \(O(m^{1.5})\)。如果 \(d_u\le m^{\frac{2}{3}}\),有 \(\sum d_u=m\),複雜度 \(O(m^{\frac{1}{3}}(m^{\frac{2}{3}})^{1.5})=O(m^{\frac{4}{3}})\)。否則 \(u,v,w\) 至多 \(m^{\frac{1}{3}}\) 個,複雜度 \(O(m^{\frac{1}{3}}((m^{\frac{1}{3}})^2)^{1.5})=O(m^{\frac{4}{3}})\)

P4843

有源匯上下界最小流,建超級源匯點補齊流量,跑最大流,從匯點向源點連容量 \(+\infty\),再跑最大流。答案為匯點到源點的流量。

P4043

最小費用可行流,建超級源匯點補齊流量,費用加上下界流量乘代價,從匯點向源點連容量 \(+\infty\) 代價 \(0\) 的邊。費用加上超級源匯點的最小費用最大流。

CF1288F

將邊 \((u,v)\) 拆為 \((u,v,1,r)\)\((v,u,1,b)\),分別表示紅邊或藍邊,都不流就不染色。左邊的紅點的右邊的藍點流出大於流入,連 \((s,i,1,+\infty,0)\),反之連 \((i,t,1,+\infty,0)\)。最小費用可行流。如果超級源點出邊滿流則合法。

9.3

P9338

要求字首和時刻大於零。設 \(c_i\) 為第 \(i\) 個 A 前有多少個 B,\(w(l,r)=\sum_{i=l}^r max(c_i-l+1,0)\),外層 wqs 二分。拆開 max,預處理 \(*p_i\) 為最小的位置使得 \(c_{p_i}−i>0\),內層 \(dp_i=\min dp_j+sum_j-sum_{p_j-1}-j\times(i-p_j+1)\),斜率最佳化。

CF2006E

等價於度數 \(\le 2\) 的點到其餘點的距離最大值。動態維護直徑,每次中心偏移 \(1\),dfn 序上子樹加,全域性 min。度數 \(=3\) 就不貢獻,度數 \(>3\) 無解。

Q9123

升序排序,二分答案 \(x\)。對於每個 \(i\) 可以 \(O(n)\) 計算 \((i,j,k)\) 的答案。設閾值 \(B\),前 \(B\) 個的貢獻 \(O(nB)\) 計算。如果沒超過 \(k\)\(B\)\((B,j,k)\) 貢獻 \(\le \frac{k}{B}\)。後邊只需要前 \(\frac{k}{B}\) 小的 \((j,k)\) 對,\(O(\frac{k}{B}\log n)\) 預處理加 \(O(n+\frac{k}{B})\) 計算。\(B\)\(\sqrt{\frac{k}{B}}\)

Q5095

模擬賽 T3。

最優策略決策為從下往上每個人刪掉存在的最劣的數。\(O(n^3)\) 模擬,開始點下移時每個人的決策點單調,複雜度 \(O(n^2)\)