【bzoj3994】[SDOI2015]約數個數和 莫比烏斯反演

題目描述

設d(x)為x的約數個數,給定N、M,求 ?

輸入

輸入文件包含多組測試數據。

第一行,一個整數T,表示測試數據的組數。
接下來的T行,每行兩個整數N、M。

輸出

T行,每行一個整數,表示你所求的答案。

樣例輸入

2
7 4
5 6

樣例輸出

110
121


題解

莫比烏斯反演

根據 bzoj4176 推出的結論,

那么就有:

預處理mu及其前綴和。

由于要處理多組詢問,所以需要用O(n√n)的時間預處理出f,然后對于每組詢問分塊來求。

#include <cstdio>
#include <algorithm>
#define N 50010
using namespace std;
typedef long long ll;
const int n = 50000;
int mu[N] , sum[N] , prime[N] , tot , f[N];
bool np[N];
ll cal(int a , int b)
{int i , last;ll ans = 0;for(i = 1 ; i <= a && i <= b ; i = last + 1) last = min(a / (a / i) , b / (b / i)) , ans += (ll)(sum[last] - sum[i - 1]) * f[a / i] * f[b / i];return ans;
}
int main()
{int i , j , last , T , a , b;mu[1] = sum[1] = 1;for(i = 2 ; i <= n ; i ++ ){if(!np[i]) mu[i] = -1 , prime[++tot] = i;for(j = 1 ; j <= tot && i * prime[j] <= n ; j ++ ){np[i * prime[j]] = 1;if(i % prime[j] == 0){mu[i * prime[j]] = 0;break;}else mu[i * prime[j]] = -mu[i];}sum[i] = sum[i - 1] + mu[i];}for(i = 1 ; i <= n ; i ++ )for(j = 1 ; j <= i ; j = last + 1)last = i / (i / j) , f[i] += (last - j + 1) * (i / j);scanf("%d" , &T);while(T -- ) scanf("%d%d" , &a , &b) , printf("%lld\n" , cal(a , b));return 0;
}

?

轉載于:https://www.cnblogs.com/GXZlegend/p/7000194.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254382.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254382.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254382.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux根文件系統結構再認識

Linux根文件系統結構再認識劉建文&#xff08;http://blog.csdn.net/keminlau &#xff09; INTRO 盡管Linux的根文件系統在形式表現上是一體的&#xff08;所有數據目錄均為根目錄下的子目錄&#xff09;&#xff0c;但實際它們是多個不同的【邏輯主體】&#xff08;為了實現…

C#浮點數據類型

文章目錄博主寫作不容易&#xff0c;孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 數據類型含義取值范圍有效數字位數float32位浮點數1.5X10^-45 ~ 3.4X10^387double64位浮點數5.0X10^-324 ~ 1.7X10^30815 ~ 16 注意&#xff1a; 浮點數有一定的取值范圍和有效數字限制…

在Window10上使用Ubuntu終端

在Windows10上使用Ubuntu終端 習慣了ubuntu的開發&#xff0c;回到windows的command可以說是很絕望了。之前偶爾用windows時一直用git-bash來代替。但是發現windows已經添加了對ubuntu子系統的支持&#xff0c;那直接用不是更爽。 1.安裝 進入控制面板&#xff0c;開啟適用于Li…

httpClient實現微信公眾號消息群發

1、實現功能  向關注了微信公眾號的微信用戶群發消息。&#xff08;可以是所有的用戶&#xff0c;也可以是提供了微信openid的微信用戶集合&#xff09; 2、基本步驟 前提&#xff1a; 已經有認證的公眾號或者測試公眾賬號 發送消息步驟&#xff1a; 發送一個請求微信去獲取ac…

為靜態博客生成器WDTP移植了一款美美噠主題

前言 關于這個主題的移植后公布&#xff0c;我已經聯系了主題作者并取得同意&#xff0c;這個主題是一夜涕所寫的Sgreen&#xff0c;預覽圖見下 關于WDTP 就是一個很方便很便攜很快速的cpp編寫的帶gui跨平臺的開源的靜態博客生成器&#xff0c;軟件作者更新記錄在V站可以找到,軟…

TCP/IP數據包結構分析

一般來說&#xff0c;網絡編程我們只需要調用一些封裝好的函數或者組件就能完成大部分的工作&#xff0c;但是一些特殊的情況下&#xff0c;就需要深入的理解 網絡數據包的結構&#xff0c;以及協議分析。如&#xff1a;網絡監控&#xff0c;故障排查等…… IP包是不安全的&am…

C#decimal數據類型

文章目錄博主寫作不容易&#xff0c;孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 為適應高精度的財務和貨幣計算的需要&#xff0c;C#提供了十進制decimal類型。decimal類型數據特征如下表所示&#xff1a; 數據類型含義取值范圍有效數字位數decimal128位高精度十進制…

世界杯快到了,看我用Python爬蟲實現(偽)球迷速成!

還有4天就世界杯了&#xff0c;作為一個資深&#xff08;偽&#xff09;球迷&#xff0c;必須要實時關注世界杯相關新聞&#xff0c;了解各個球隊動態&#xff0c;這樣才能在一堆球迷中如&#xff08;大&#xff09;魚&#xff08;吹&#xff09;得&#xff08;特&#xff09;水…

Bootstrap學習筆記(四)-----Bootstrap每天必學之表單

本文主要講解的是表單&#xff0c;這個其實對于做過網站的人來說&#xff0c;并不陌生&#xff0c;而且可以說是最為常用的提交數據的Form表單。本文主要來講解一下內容&#xff1a; 1.基本案例2.內聯表單3.水平排列的表單4.被支持的控件5.靜態控件6.控件狀態7.控件尺寸8.幫助文…

LVS--NAT模型配置

環境準備 管理IP地址角色備注192.168.11.131調度器&#xff08;Director&#xff09;對外提供VIP服務的地址為192.168.1.114192.168.11.132RS1 網關為192.168.11.131192.168.11.129RS2 網關為192.168.11.131將Directory開啟內核轉發 Linux系統默認是禁止數據包轉發的。所謂轉發…

STL中list的使用(理論)

STL中的list就是一雙向鏈表&#xff0c;可高效地進行插入刪除元素。現總結一下它的操作。文中所用到兩個list對象c1,c2分別有元素c1(10,20,30) c2(40,50,60)。還有一個list<int>::iterator citer用來指向c1或c2元素。list對象的聲明構造()&#xff1a;A. list<in…

C#數據類型轉換—使用Convert類轉換

文章目錄簡介用例博主寫作不容易&#xff0c;孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 簡介 System.Covert類就是專門進行類型轉換的類&#xff0c;Convert類提供的方法可以實現各種進本數據類型之間的轉換。Convert類的常用方法如下表&#xff1a; 方法說明ToBo…

服務器租用單線、雙線、bgp 相比有哪些區別優勢?

2019獨角獸企業重金招聘Python工程師標準>>> 在IDC行業中&#xff0c;服務器的穩定性、安全性是考核服務商的主要指標&#xff0c;影響這兩個指標的因素有很多&#xff0c;其中比較重要的有三個&#xff0c;分別是服務器的配置、機房骨干網寬帶和機房的線路。我們常…

SQL Server 數據庫的維護(四)__游標(cursor)

--維護數據庫-- --游標(cursor)-- --概述&#xff1a; 注&#xff1a;使用select語句查詢結果的結果集是一個整體&#xff0c;如果想每次處理一行或一部分行數據&#xff0c;游標可以提供這種處理機制。可以將游標理解為指針。指針指向哪條記錄&#xff0c;哪條記錄即是被操作記…

關于在unity中動態獲取字符串后在InputField上進行判斷的BUG

今天想做一個簡單的密碼鎖定控制功能&#xff0c;但是出現了問題。我是在游戲開始時讀取streamingAsset中的text中的文本&#xff0c;其實就是密碼如下圖密碼是123456789 然后我在程序中輸入了該密碼出現錯誤&#xff0c;居然錯了。 然后我打印讀取的文本信息是什么、沒錯啊。然…

轉載 調用xvid 實現解碼

2011-06-01 00:26:14) 轉載view plaincopy to clipboardprint? /// intinit_decoder() { intret; xvid_gbl_init_t xvid_gbl_init; xvid_dec_create_txvid_dec_create; memset(&xvid_gbl_init, 0,sizeof(xvid_gbl_init_t)); memset(…

C# 數值和字符串之間的相互轉換

文章目錄方法用例ToString&#xff08;&#xff09;方法Parse&#xff08;&#xff09;方法博主寫作不容易&#xff0c;孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 方法 ToString&#xff08;&#xff09;方法&#xff1a;數值類型的 ToString&#xff08;&#xff…

LeetCode Reverse Words in a String III

原題鏈接在這里&#xff1a;https://leetcode.com/problems/reverse-words-in-a-string-iii/#/description 題目&#xff1a; Given a string, you need to reverse the order of characters in each word within a sentence while still preserving whitespace and initial wo…

創業感悟:技術兄弟為什么一直沒有起來(1)

相信很多做技術的朋友&#xff0c;看到“人脈”兩個字&#xff0c;就顯得有些敏感&#xff0c;有人甚至產生一種“抵觸”的心理。 因為在很多人的心中&#xff0c;會自動的把“人脈”和“關系”關聯起來&#xff0c;會把“人脈”與“走后門”&#xff0c;甚至會和“酒桌文化”&…

kali開啟ssh

修改 vi /etc/ssh/sshd_config 1.將 permitrootlogin 前面的注釋去掉,并且后面改為yes 如果沒有則添加permitrootlogin yes 2.將#PasswordAuthentication no的注釋去掉&#xff0c;并且將NO修改為YES //kali中默認是yes 3.按Esc , 同時按shift和冒號鍵 ,輸入wq &#xff0c;回…