全球百事通!DZY Loves Math
題面
對于正整數(shù) \(n\),定義 \(f(n)\) 為 \(n\) 所含質因子的最大冪指數(shù)。例如 \(f(1960)=f(23×51×72)=3,f(10007)=1,f(1)=0\)。給定正整數(shù) \(a,b\),求下式的值:
(資料圖片)
題解
在下文的推導中,為避免歧義,設 \(N = \min(a,b), M = \max(a,b)\),顯然 \(N \le M\)。
\[\displaystyle \begin{aligned} & \sum_{i = 1}^N \sum_{j = 1}^M f(\gcd(a,b))\\= & \sum_{d = 1}^N f(d) \sum_{i = 1}^N \sum_{j = 1}^M \left[\gcd(i,j) = d\right] \\= & \sum_{d = 1}^N f(d) \sum_{i = 1}^{\left\lfloor\frac{N}igk4ccewusk\right\rfloor}\sum_{j = 1}^{\left\lfloor\frac{M}igk4ccewusk\right\rfloor} \left[\gcd(i,j) = 1\right] \\ = & \sum_{d = 1}^N f(d) \sum_{i = 1}^{\left\lfloor\frac{N}igk4ccewusk\right\rfloor}\sum_{j = 1}^{\left\lfloor\frac{M}igk4ccewusk\right\rfloor} \varepsilon(\gcd(i,j)) \\= & \sum_{d = 1}^N f(d) \sum_{i = 1}^{\left\lfloor\frac{N}igk4ccewusk\right\rfloor}\sum_{j = 1}^{\left\lfloor\frac{M}igk4ccewusk\right\rfloor} \sum _{t \mid \gcd(i, j)} \mu(t)\\= & \sum_{d = 1}^N f(d) \sum_{i = 1}^{\left\lfloor\frac{N}igk4ccewusk\right\rfloor}\sum_{j = 1}^{\left\lfloor\frac{M}igk4ccewusk\right\rfloor} \sum _{t \mid i \land t \mid j} \mu(t)\\\end{aligned}\]設 \(T = dt\),那么:
\[\displaystyle \begin{aligned} & \sum_{d = 1}^N f(d) \sum_{i = 1}^{\left\lfloor\frac{N}igk4ccewusk\right\rfloor}\sum_{j = 1}^{\left\lfloor\frac{M}igk4ccewusk\right\rfloor} \sum _{t \mid i \land t \mid j} \mu(t)\\= & \sum_{T = 1}^N {\left\lfloor\frac{N}{T}\right\rfloor} {\left\lfloor\frac{M}{T}\right\rfloor} \sum_{d \mid T} f(d) \mu(\frac{T}igk4ccewusk)\end{aligned}\]設 \(h = f * \mu\),那么原式可化為:
\[\displaystyle \sum_{T = 1}^N {\left\lfloor\frac{N}{T}\right\rfloor} {\left\lfloor\frac{M}{T}\right\rfloor} h(T)\]下面考慮求函數(shù) \(h(n)\) 的值,首先對 \(n\) 進行質因數(shù)分解:
\[\displaystyle n = \prod_{i = 1}^m p_i^{c_i} \ ( \ p_i \in \mathbb{P}, c_i \ge 1 \ )\]發(fā)現(xiàn)可以把 \(h(n)\) 寫成如下形式:
\[\displaystyle h(n) = \sum_{ab = n} f(a) \mu(b)\]考慮到莫比烏斯函數(shù) \(\mu(n)\) 的性質:如果 \(n\) 中含有平方質因子那么 \(\mu(n) = 0\)。所以可以得出能產生貢獻的 \(b\) 即滿足 \(\mu(b) \ne 0\) 的 \(b\) 一定滿足:
\[\displaystyle b = \prod_{i = 1}^m p_i^{d_i} \ ( \ p_i \in \mathbb{P}, _i \in \{0, 1\} \ )\]所以可以得出 \(f(a) = l \lor f(a) - l - 1\)。
設 $l = \max \limits_{i = 1}^m c_i,k = \sum \limits_{i = 1}^m \left[ c_i = l\right] $。接下來按 \(k \ne m\) 和 \(k = m\) 兩種情況分類討論 \(h(n) 的值\)。
當 \(k \ne m\) 時,按 \(f(a) = l\) 和 \(f(a) = l - 1\) 兩種子情況討論。
當 \(f(a) = l\) 時,設在 \(k\) 個滿足 \(c_i = l\) 的質數(shù)中選了 \(t\) 個,在另外 \(m - k\) 個質數(shù)中選了 \(s\) 個,那么可以得出貢獻為:
\[\displaystyle \begin{aligned} & \sum_{s = 0} ^ {m - k} \sum_{t = 0}^{k - 1} \dbinom{k}{t} \times l \times (-1) ^ {s + t} \times \dbinom{m - k}{s}\\= & \sum_{t = 0}^{k - 1} \dbinom{k}{t} \times l \times (-1) ^ {t} \sum_{s = 0} ^ {m - k} (-1) ^ {s} \times 1^{m - k - s} \dbinom{m - k}{s} \\= & 0\end{aligned}\]當 \(f(a) = l - 1\) 時,\(k\) 個滿足 \(c_i = l\) 的質數(shù)中一定全部選上,設在另外 \(m - k\) 個質數(shù)中選了 \(s\) 個,那么可以得出貢獻為:
\[\displaystyle \begin{aligned} & \sum_{s = 0} ^ {m - k} (l - 1) \times (-1) ^ {s} \times \dbinom{m - k}{s}\\= & \sum_{s = 0} ^ {m - k} (l - 1) \times (-1) ^ {s}\times 1^{m - k - s} \dbinom{m - k}{s} \\= & (l - 1) \times \sum_{s = 0} ^ {m - k} (-1) ^ {s}\times 1^{m - k - s} \dbinom{m - k}{s}\\= & 0\end{aligned}\]當 \(k = m\) 時,有 \(f(a) = l\) 和 \(f(a) = l - 1\) 兩種子情況,可以得出貢獻為:
\[\displaystyle \begin{aligned} & \sum_{s = 0} ^ {m - 1} (l) \times (-1) ^ {s} \times \dbinom{m - k}{s} + (l - 1) \times (-1) ^ {m} \times \dbinom{m - k}{m - k}\\= & \sum_{s = 0} ^ {m} (l) \times (-1) ^ {s} \times \dbinom{m - k}{s} - 1 \times (-1) ^ m\\= & - 1 \times (-1) ^ m \\= & (-1) ^ {m + 1}\end{aligned}\]綜上可以得出 \(h(n)\) 的計算式:
\[h(n)=\begin{cases} 0 & k \ne m\\(-1)^{m + 1} & k = m\end{cases}\]下面考慮如何高效的預處理出 \(h(n)\) 的值。
考慮一下歐拉篩在篩出合數(shù) \(\displaystyle n = \prod_{i = 1}^m p_i^{c_i} \ ( \ p_i \in \mathbb{P}, c_i \ge 1 , p_i < p_{i + 1})\) 時的路徑:
\[p_m \rightarrow p_m^2 \rightarrow p_m^3 \rightarrow \cdots \rightarrow p_m^{c_m} \rightarrow \\p_{m - 1} p_m^{c_m} \rightarrow p_{m - 1}^2 p_m^{c_m} \rightarrow \cdots n\]也就是說一個合數(shù)被篩出的路徑是按質因子從大到小的順序篩出的,所以可以開三個數(shù)組 \(preCount,nowCount\) 和 \(factorCount\),分別記錄當前數(shù)的最小質因子的冪次,其他所有質因子的冪次和本質不同的質因子的個數(shù)。
如果在篩的過程中,設 \(i\) 為當前篩的數(shù), \(j\) 為枚舉的質數(shù),\(t = i \cdot j\),如果 \(j \nmid i\),也就是說 \(j\) 不是 \(i\) 的質因子,但是其是 \(t\) 的最小質因子,所以 \(nowCount[t] = 1\),但是 \(preCount[t]\) 的值要根據(jù) \(nowCount[i]\) 和 \(preCount[i]\) 的值來考慮:如果兩者相等,直接賦值即可;否則直接賦 \(-1\),也就是說現(xiàn)在這個歐拉篩上的路徑上的數(shù)的質因子冪次不可能相等了。如果 \(j \mid i\),直接累加即可。
Code
#include typedef long long valueType;constexpr valueType maxN = 1e7 + 5;class LineSieve {public: typedef long long valueType; typedef std::vector container;private: valueType size; container minFactorList; container primeList; container preCount, nowCount, factorCount, data, sum;public: explicit LineSieve(valueType _size_) : size(_size_), minFactorList(_size_ + 1), preCount(_size_ + 1, 0),nowCount(_size_ + 1, 0), factorCount(_size_ + 1), data(_size_ + 1),sum(_size_ + 1) { primeList.reserve((size_t) std::floor(std::log((long double) (_size_ + 1)))); for (valueType i = 2; i <= size; ++i) { if (minFactorList[i] == 0) { primeList.push_back(i); minFactorList[i] = i; nowCount[i] = 1; preCount[i] = 0; factorCount[i] = 1; data[i] = 1; } for (auto const &iter: primeList) { valueType const t = i * iter; if (t > size) break; minFactorList[t] = iter; if (i % iter == 0) { nowCount[t] = nowCount[i] + 1; preCount[t] = preCount[i]; factorCount[t] = factorCount[i]; break; } else { nowCount[t] = 1; preCount[t] = (nowCount[i] == preCount[i] || preCount[i] == 0) ? nowCount[i] : -1; factorCount[t] = factorCount[i] + 1; } } } for (int i = 2; i <= size; ++i) if (nowCount[i] == preCount[i] || preCount[i] == 0) data[i] = (factorCount[i] & 1) == 1 ? 1 : -1; else data[i] = 0; std::partial_sum(data.begin(), data.end(), sum.begin()); } valueType ans(valueType x) const { if (x > size) throw std::range_error("Larger than Size."); if (x < 0) throw std::range_error("Too small."); return sum[x]; }};int main() { valueType T; std::cin >> T; LineSieve Euler(maxN); typedef std::function solveFunction; solveFunction solve = [&Euler](valueType N, valueType M) -> valueType { if (N > M) std::swap(N, M); valueType result = 0; valueType l = 1, r; while (l <= N) { r = std::min(N / (N / l), M / (M / l)); result += (Euler.ans(r) - Euler.ans(l - 1)) * (N / l) * (M / l); l = r + 1; } return result; }; for (int i = 1; i <= T; ++i) { valueType N, M; std::cin >> N >> M; std::cout << solve(N, M) << "\n"; } std::cout << std::flush; return 0;}
圖片
-
全球百事通!DZY Loves Math
全球新動態(tài):安全生產許可證
天天微資訊!英雄聯(lián)盟季中賽
-
北京西站屬于哪個區(qū)幾環(huán)_北
每日速遞:豪華超埃爾法!2.
全球熱資訊!民法典知識177
宋洋|每日頭條
qq發(fā)消息為什么對方收不到_
環(huán)球新動態(tài):家族榮耀電視劇
-
【世界快播報】微信回了個“
長三角鐵路今日迎返程客流高
內蒙古推動國家重要農畜產品
今日播報!夏收開鐮 比高溫
殘響死滅(關于殘響死滅介紹
世界即時看!軒轅劍龍舞云天
-
美聯(lián)儲戴利:今年再加息兩次
封己守殘_關于封己守殘介紹
小米sim卡密碼怎么設置(sim
人平均每天喝多少水健康_人
最后通牒和最后通牒(最后通
飛狐商旅網訂單怎么查_飛狐
精彩推送
- 全球百事通!DZY Loves Math
- 消息突破5?。。海簝葢?zhàn)的扳機是由(普京)扣動的。_世界簡訊
- 山西加快焦化行業(yè)調整升級,年內將全面關停4.3米焦爐 當前獨家
- 全球新動態(tài):安全生產許可證辦理流程 安全生產許可證辦理
- 八月十五云遮月的原詩_八月十五云遮月|環(huán)球熱點評
- 2023年端午檔全國電影市場總票房破8億元 進入中國影史端午檔票房前三 環(huán)球通訊
- 天天微資訊!英雄聯(lián)盟季中賽冠軍_英雄聯(lián)盟季中賽
- 湖北省高等教育學會民辦教育專委會2023年年會舉行
- 成都發(fā)布高溫藍色預警_每日視點
- 環(huán)球時訊:三簽約達成:拜仁白菜價簽約格雷羅,切爾西簽下杰克遜,皇馬與塞瓦略斯續(xù)約
- 北京西站屬于哪個區(qū)幾環(huán)_北京西站屬于哪個區(qū)
- 南京大屠殺幸存者高恒發(fā)去世 在世在冊幸存者僅剩39位 焦點短訊
- 每日速遞:豪華超埃爾法!2.0T+隔音玻璃+3米軸距,跌至16萬的MPV
- 【全球熱聞】流動性估值跟蹤:基金最新偏離度情況
- 馬家大院,一個中醫(yī)如何掙得這么大的家業(yè),據(jù)說有三太太的功勞 環(huán)球速讀
- 全球熱資訊!民法典知識177——合同成立地點的確定
- 當前最新:連破紀錄!北京現(xiàn)史上首次40℃“三連擊”
- 讓傳統(tǒng)節(jié)日綻放時代新韻(今日談)
- 宋洋|每日頭條
- 全球信息:貴州鎮(zhèn)遠:龍舟競技“鬧”古城
- 哀悼!南京大屠殺幸存者高恒發(fā)去世
- qq發(fā)消息為什么對方收不到_為什么qq發(fā)消息別人收不到
- 今日熱聞!年金類保險產品有哪些類型?靠譜嗎?
- 手機揚聲器進水應該怎么處理|聚看點
- 環(huán)球新動態(tài):家族榮耀電視劇全部角色介紹 老戲骨飆戲夠過癮
- 【速看料】過熱器為什么要多級布置管道_過熱器為什么要多級布置
- 價格周報|端午節(jié)后豬價回落,未來一周終端市場或再度進入疲軟狀態(tài)
- 【世界快播報】微信回了個“OK”,江西一男子成了被告……
- 在農村被老板拖欠工資要怎樣辦
- 安康節(jié)!持艾簪蒲佩香囊 端午沐蘭祈安康
- 長三角鐵路今日迎返程客流高峰,預計發(fā)送旅客302萬人次|環(huán)球今日訊
- 微信回了個“OK”表情男子成被告,表情符號成“呈堂證供”日益增多,法院提醒來了! 全球新要聞
- 普益財富美股跌9.73%
- 環(huán)球新消息丨西安文明旅游志愿服務系列活動啟動
- 【當前獨家】金山云美股跌14.13%
- 內蒙古推動國家重要農畜產品生產基地建設28項重點任務落地見效|天天熱資訊
- 新資訊:金融壹賬通美股跌14.76%
- 如何做好基于大數(shù)據(jù)的學生心理健康監(jiān)測-環(huán)球報道
- 優(yōu)品車美股漲8.32%
- 金生游樂美股漲10.4%
- 世界最新:含辛茹苦的辛指五味中的哪一位_含辛茹苦
- 今日播報!夏收開鐮 比高溫還火熱
- 鯉城區(qū)第三中心小學禁毒志愿服務隊_關于鯉城區(qū)第三中心小學禁毒志愿服務隊簡述 今日熱議
- 2023年5月全國生產粗鋼9012.0萬噸、同比下降7.30%
- 消費支出重新成為經濟增長第一拉動力 環(huán)球要聞
- 擴大豆,中國持續(xù)提升自給率|環(huán)球新要聞
- 全球速讀:今夏我國電煤供需預期整體平衡
- 1-5月中國未鍛軋鋁及鋁材出口231.50萬 同比下降20.2%_世界微動態(tài)
- 殘響死滅(關于殘響死滅介紹)|天天快消息
- 恒指牛熊街貨比(56:44)︱6月24日
- 第28屆上海電視節(jié)白玉蘭獎揭曉!《人世間》《縣委大院》問鼎最佳中國電視劇獎_世界熱點
- 世界消息!深圳GDP增長5%:以經濟為中心的發(fā)展
- 世界即時看!軒轅劍龍舞云天山下載_軒轅劍龍舞云山電腦版
- 今日最新!Truist Securities:重申Marqeta(MQ.US)評級
- 【環(huán)球熱聞】人很瘦,下腹卻有贅肉,有什么辦法減下來?
- 韓國200多艘漁船海上集結 抗議日本決定將福島核污染水排海
- 美聯(lián)儲戴利:今年再加息兩次是非常合理的預測-全球看熱訊
- 徐悲鴻的故事_徐悲鴻的小故事|熱門看點
- 每日速遞:激流中一對夫妻被困,衢州消防緊急救援
- 封己守殘_關于封己守殘介紹
- 環(huán)球熱資訊!端午檔次日票房超過首日,《消失的她》票房達3.7億
- 日行一善名言警句20字_日行一善名言警句|環(huán)球報道
- 小米sim卡密碼怎么設置(sim卡密碼怎么設置) 天天微資訊
- 天天熱點!南寧VS柳州:南寧依然是當之無愧的第一選擇嗎?
- 張嘉倪四公時外婆離世_錯過追悼會下臺崩潰大哭
- 人平均每天喝多少水健康_人平均每天喝多少水
- 觀焦點:中國教育電視臺融媒體直播節(jié)目《直通高招》今晚9點開播!
- 北京社保記錄查詢怎么查,上哪查社保信息
- 最后通牒和最后通牒(最后通牒)-環(huán)球新要聞
- 世界熱消息:專訪《消失的她》導演:人物是懸疑的核心
- 當前動態(tài):《慶余年》導演回應陣容調整 原班人馬?
- 飛狐商旅網訂單怎么查_飛狐商旅網-熱資訊
- 太可惜!國乒名將浪費8個局點崩盤,不久前才奪1冠,如今止步16強
- 環(huán)球快播:關注民生實事 深化履職成效
- 天天速讀:fast路由器賬號密碼忘了(fast路由器賬號密碼)
- JDG被官方故意刁難,用實力打臉對方,夏季賽危機已經解除-環(huán)球微頭條
- 《最終幻想16》奧利哈康怎么獲得?奧利哈康位置分享-全球熱推薦
- 廈門市退休工資計算公式2023計算器 廈門市退休工資多少錢一個月?-天天觀察
- 驚險!海南澄邁一男孩在海邊溺水昏迷不醒,危急時刻……
- 兒的拼音是整體認讀音節(jié)嗎_兒的拼音
- 全球即時看!戒毒故事|少年錯把吸毒當“時尚” 沉浮毒海20年后重生化身志愿者
- 水杯遭同事投毒?女子被診出胃部和肝部……
- 遼寧營口一鋼鐵廠發(fā)生燙傷事故,造成4人死亡5人受傷
- “從小到大第一次干這種事!”
- 今熱點:海康威視攝像頭恢復出廠設置狀態(tài)_??低晹z像頭恢復出廠設置
- 每日播報!燈火璀璨 人流如織!德州慶云祥云古鎮(zhèn)不夜城啟幕 激發(fā)夜間消費新活力
- ?夷陵之戰(zhàn),蜀國由鼎盛轉入衰敗
- 精選!放療一個療程多少錢大概_放療一個療程多少錢
- 清風徐徐:?讀《歲月不是歌》有感
- sitop電源(SINTOP)
- 肚子里有脹氣一直放屁(肚子里有脹氣總放屁)
- 端午假期安全生產不“打烊” 環(huán)球微速訊
- 賈乃亮攜女兒買手表,10歲甜馨剪短發(fā)還挑染,身高暴漲筷子腿吸睛
- 幻想神域劍盾加點攻略_幻想神域劍盾
- 汨羅江上賽龍舟_當前熱門
- 司馬昭之心路人皆知后面一句_司馬昭之心路人皆知 環(huán)球新消息
- 天天熱推薦:青島移動寬帶套餐資費一覽表2020(青島移動寬帶套餐)
- TCL:敢為上游不畏難
- 羽飛長空!廊坊臨空國際會展中心正式啟用|微資訊
- 環(huán)球動態(tài):轉向柱存在安全隱患 19輛進口大切諾基4xe被召回