做題筆記 IIII

sunkuangzheng發表於2024-03-20
  • 做題筆記 II
  • 做題筆記 III

發現做題筆記屢次停更的根本原因是做的無聊題太多,不想更筆記,拖的時間長了筆記就更新不過來了。

從這篇筆記開始只記錄精彩巧妙的題。


\(1 \sim 25\)

\(\color{blue}(1)\) CF1270G Subset with Zero Sum

\(^*2700\)構造;圖論;基環樹

給定長度為 \(n \; (1 \le n \le 10^6)\) 的序列 \(a_1,a_2,\ldots,a_n \color{blue} \; (i - n \le a_i \le i - 1)\),找出一個子集使得其和為 \(0\)。可以證明有解。

神題。

考慮化簡不等式得到 \(1 \le i - a_i \le n\)如果把 \(i\)\(to_i = i - a_i\) 連邊可以得到一棵內向基環森林

注意到環上的點滿足 \(\sum i = \sum to_i\),也即 \(\sum i = \sum i - a_i\),去掉 \(\sum i\) 後得到 \(\sum a_i = 0\),滿足題目要求。時間複雜度線性。