n 個互不相同的整數 a_i (≤1e5),選 3 個數使其兩兩互質 或 兩兩不互質。求三元組個數。n ≤ 1e5, T ≤ 5。
每個非單色三角形恰有 2 顆頂點連紅邊、1 顆連藍邊(或相反)。枚舉中間頂點 i,設與 i 互質的點數為 c_i,不互質為 n-1-c_i。以 i 為「特殊頂點」的非單色三角形數 = c_i * (n-1-c_i)。總和除以 2(每個三角形被計算兩次)。
利用容斥原理。預處理 1..1e5 每個數作為因子出現的次數 cnt[d]。對每個 a_i,分解質因子,容斥計算與其不互質的數,得互質數 = n-1 - 不互質數。
cnt[d]:每個 a_i 的所有因數 d 計數++。c_i * (n-1-c_i),最後 ans = C(n,3) - sum/2。本題將組合計數轉化為圖論單色三角形,再利用容斥高效計算互質關係。關鍵技巧:補集思維、因數頻率預處理、質因子分解與容斥。是數論與組合結合的優秀練習題。