原创 解題報告:HDU_6040 Hints of sd0061 STL::nth_element

題目鏈接 題意: 給你一個序列的遞推函數,m次詢問,詢問這個序列上第bi小的數。 官方題解: 最關鍵的部分在於瞭解STL裏的nth_element函數,簡單介紹一下: 這個函數的時間複雜度近似線性 函數的調用(取第n小):nth_

原创 解題報告:HDU_6102 GCDispower (離線處理+莫比烏斯反演)

題目鏈接 題意: 給一個全排列,每次詢問一個區間的函數 官方題解: 思路: 題解已經說的很詳細了Orz....記錄一下容斥反演的部分 令num(d)爲已經掃過的數中d的倍數的個數,預處理出每個數的有效因子(對應的反演係數不爲0),

原创 解題報告:Codeforces Round #325(Div. 1) E. Present for Vitalik the Philatelist (莫比烏斯反演)

題目鏈接 題意: 給n(n<=5e5)個數ai(ai<=1e7),Vitalik會很開心,如果: 能從中選出一個數x,在從剩下的數中選出一個非空集合S,滿足: S的gcd不爲1,gcd(S,x)爲1 詢問滿足的方案數 閒扯: 本來O

原创 解題報告:HDU_5656 CA Loves GCD DP

題目鏈接 題意: 給n個不同的數,求所有非空子集的gcd之和 思路: dp[ i ] 表示 gcd 爲 i 的子集數 每讀入一個新的數x,可以如果將x與gcd爲i的放在一起會導致gcd(x,i)的方案數增加dp[ i ] 種 如果 i

原创 解題報告:HDU_6035 Colorful Tree 樹上計數

題目鏈接 題意: 給定一棵樹,樹上每個結點都有一種顏色,詢問路上任意兩點之間的路徑上包含的不同顏色數目和。 思路: 正着求不好求,先認爲所有的路徑上包含所有出現過的顏色,那麼只需要減去每個顏色沒有出現過的路徑之和。 官方題解: 單獨

原创 解題報告:HDU_4947:GCD Array 莫比烏斯反演+樹狀數組

題目鏈接 題意: 長度爲n的數組,初始值爲0。 有兩種操作: ①給定a,b,x,將所有下標 i 滿足 gcd(a,i)==b的位置加上x ②給定x,查詢 1~x 的前綴和 思路: 對於操作①,顯然無法更新所有的滿足要求的下標 稍作分析

原创 解題報告:BZOJ_2154: Crash的數字表格 莫比烏斯反演

題目鏈接 題意: 給定n,m(<=1e7)求 思路: 預處理和的前綴和,這樣就能在時間內得出結果 總複雜度爲 代碼: #include<bits/stdc++.h> using namespace std; const int

原创 解題報告:BZOJ_3529:數表 莫比烏斯反演+離線處理

題目鏈接 題意: 一張n*m的表格,( i , j )的格子上的數爲gcd( i , j ) 的約數和,詢問所有格子的不超過a的數之和,T組數據。 1<=n,m<=1e5,|a|<=1e9,T<=2e4 思路: 這題很多細節不是很容易想

原创 解題報告: Codeforces Round #305 (Div. 2) E.Mike and Foam (莫比烏斯反演)

題目鏈接 題意: 有一個長度爲n(n<=2e5)的序列,q(q<=2e5)次操作 序列中的每個位置對應一個數ai(1<=ai<=5e5) 每次操作給一個數x,代表挑出的序列中的下標爲x的數 若對應下標的數已經被挑出,那麼就把它放回去 每

原创 解題報告:CodeForces - 662C:Binary Table FWT(快速沃爾什變換)

題目鏈接 題意: 給定一個至多20*100000的01矩陣,可以選擇任意行或列,選擇行或列的01值改變,問經過操作能到最少的含1的數量。 思路: 因爲行最大爲20,考慮將每一列壓縮成一個20位的整數,選擇的行也最多隻有20,同樣壓縮到一個

原创 解題報告:SPOJ - VLATTICE Visible Lattice Points 莫比烏斯反演

題目鏈接 題意: 有一個邊長爲n的立方體,你位於(0,0,0)處,問能看見的格子數目。 某個格子能被看見當且僅當它與原點的連線上不存在其他的格子。 思路: 之前做過一個二維的版本:HDU2841 Visible Trees 莫比烏斯反演

原创 解題報告:HDU_5663 Hillan and the girl 莫比烏斯反演

題目鏈接 題意: a爲小於等於n的正整數,b爲小於等於m的正整數,求gcd(a,b)爲平方數的計數 思路: 令 設 f(x) 表示gcd(a,b)爲x的組數,它的答案爲 我們要求的是 可以發現若k爲平方數,那麼g(x*k)前的係數等

原创 解題報告:Codeforces Round #146 (Div. 1) E. Number Challenge 莫比烏斯反演

題目鏈接 題意: 給定n,m,l,求 d(x):x的約數個數 思路: 加強版的約數個數和 (解題報告:BZOJ_3994 約數個數和 莫比烏斯反演學習題)? 代入公式 得到 得到 代入常用的公式: 得到: 這個式子的複雜度爲 但是可

原创 解題報告:HDU_6042 Journey with Knapsack 生成函數

題目鏈接 題意: 你有一個容量爲2*n的揹包,現在有n種食物,第i種事物的體積爲i,數目爲ai個。還有m種武器,每種武器體積爲bi。 現在要求揹包裏裝一個武器,任意食物的方案數。 思路: 官方給的就很詳細了Orz...... 不

原创 解題報告:POJ_3904 Sky Code 莫比烏斯反演|容斥

題目鏈接 題意: 給定n個數,要求從中選出4個數,使得這4個數的最大公因子爲1,求滿足條件的組數。 思路: 簡單的容斥,用f(x)表示最大公因子爲x的倍數的組數,那麼答案爲: ans = 代碼: #include<cstdio>