[CQOI2015]選數
其實可以大力反演
然後得到式子。miu函數可以用杜教篩求,然後整數分塊。雖然3000組詢問,,,理論一組都過不去,,,但是杜教篩還是越用越快的,可以過
(太暴力了)
題目一個關鍵的條件:H-L<=1e5
可以不可以把枚舉公約數的範圍限制在H-L之間呢?
其實有用的gcd不多
如果所有n個數都相等,那麽有H-L+1種
如果不全都相等,那麽最大的gcd,是H-L+1!!!也只有H-L+1種了。
簡單起見
令:H->[H/K]下取整,L->[L/K]上取整
設f[i]表示,選擇N個不全相等的數,最大公約數為i的方案數
答案就是f[1](因為全相等gcd一定不為1,不在答案內。L=1特判+1)
這樣的話,i的範圍就是1~H-L+1了
設x是[L,H]中是i倍數的個數,容斥:f[i]=x^N-x-f[2*i]-f[3*i]-...
所以倒推i即可。
O(lenlog(len))
利用gcd很少的事實,減少計算。
[CQOI2015]選數
相關推薦
bzoj3930[CQOI2015]選數 容斥原理
最大 content mes inpu class bits put 多少 小z 3930: [CQOI2015]選數 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 1383 Solved: 669[Submit][
BZOJ3930 [CQOI2015]選數 【容斥】
復雜度 pow blog 然而 兩個 小z 很快 一行 lock 題目 我們知道,從區間[L,H](L和H為整數)中選取N個整數,總共有(H-L+1)^N種方案。小z很好奇這樣選出的數的最大公約數的規律,他決定對每種方案選出的N個整數都求一次最大公約數,以便進一步研究。然而
【刷題】BZOJ 3930 [CQOI2015]選數
枚舉 () AD 方式 logs sam span mark 目的 Description 我們知道,從區間[L,H](L和H為整數)中選取N個整數,總共有(H-L+1)^N種方案。小z很好奇這樣選出的數的最大公約數的規律,他決定對每種方案選出的N個整數都求一次最大公約數,
【題解】CQOI2015選數
void efi bit () clas span fin 必須 sign 這題做的時候接連想錯了好多次……但是回到正軌上之後依然是一個套路題。(不過這題好像有比莫比烏斯反演更好的做法,莫比烏斯反演貌似是某種能過的暴力ヽ(´ー`)
Luogu P3172 [CQOI2015]選數
[1] 采集 noi www. register 公約數 ++i 根據 noi2010 這題的反演做法好像很不可食用啊還得套一個杜教篩 我們註意到題目一個重要的性質:\(H-L\le10^5\),看起來可以好好利用一下。 我們首先轉化問題,類似於許多和\(\gcd\)有關的
洛谷 [CQOI2015]選數 解題報告
[CQOI2015]選數 題目描述 我們知道,從區間\([L,H]\)(\(L\)和\(H\)為整數)中選取\(N\)個整數,總共有\((H-L+1)^N\)種方案。 小\(z\)很好奇這樣選出的數的最大公約數的規律,他決定對每種方案選出的\(N\)個整數都求一次最大公約數,以便進一步研究。然而他很快發
[CQOI2015]選數(bzoj3930 莫比烏斯反演+杜教篩+累加有上下界)
題目: [CQOI2015]選數 題意: 思路: 若L%k==0,那麼累加的下界為 ,若L%k!=0,那麼累加的下界為 ,綜合一下,下界為 。 我們設下界 = t 。 原式 = 設 設
CQOI2015 選數
粘題目描述: 我們知道,從區間[L,H](L和H為整數)中選取N個整數,總共有(H-L+1)^N種方案。 小z很好奇這樣選出的數的最大公約數的規律,他決定對每種方案選出的N個整數都求一次最大公約數,以便進一步研究。 然而他很快發現工作量太大了,於是向你尋求幫助。 你的任務很簡單,小z會告訴你一個整數K
洛谷3172 BZOJ3930 CQOI2015 選數 莫比烏斯反演 杜教篩
題目連結 題意: 給你 n , k ,
[CQOI2015]選數-題解
【題目地址】 題意簡述 給定 N , K
【[CQOI2015]選數】
這道題自然是可以反演的 按照反演的套路我們先設出兩個函式 \(F(n)\)表示從\([L,H]\)中任選\(N\)個數的最大公約數是\(n\)或者\(n\)的倍數的情況數 \(f(n)\)表示從\([L,H]\)中任選\(N\)個數的最大公約數是\(n\)的情況數 非常顯然的是 \[F(n)=\su
BZOJ 3930 [CQOI2015]選數
題目連結 https://lydsy.com/JudgeOnline/problem.php?id=3930 題解 反演得到 ∑
[CQOI2015] 選數
Portal 重慶的題目質量還是不錯的. 這個剛好為\(k\)就是一個暗示, 暗示我們列舉超集/子集進行容斥. 容斥做法: 咕咕咕 以下是反演做法. 設\(F(n)\)表示n == k的時候題目所求. 設\(G(n)\)表示k | n 的時候題目所求. 那麼\([l, r]\)範
[CQOI2015]選數
得到 限制 利用 一個 nbsp 個數 但是 最大 公約數 其實可以大力反演 然後得到式子。miu函數可以用杜教篩求,然後整數分塊。雖然3000組詢問,,,理論一組都過不去,,,但是杜教篩還是越用越快的,可以過 (太暴力了) 題目一個關鍵的條件:H-L<=1e5
BZOJ 3930 CQOI2015 選數 莫比烏斯反演
題目見 http://pan.baidu.com/s/1o6zajc2 此外不知道H-L<=10^5這個條件是幹嘛的。。。。 #include <map> #include <cstdio> #include <cstring>
LibreOJ2095 - 「CQOI2015」選數
前綴 TP GC gcd turn solution https not -m Portal Description 給出\(n,k,L,R(\leq10^9)\),求從\([L,R]\)中選出\(n\)個可相同有順序的數使得其gcd為\(k\)的方案數。 Solution
【CQOI2015】選數
() getc spl 研究 include begin mes sdi prim 題面 Description 我們知道,從區間[L,H](L和H為整數)中選取N個整數,總共有(H-L+1)^N種方案。小z很好奇這樣選出的數的最大公約數的規律,他決定對每種方案選出的N個整
codevs 1008 選數
深搜 space class def clas ++i 分析 desc input 題目描述 Description 已知 n 個整數 x1,x2,…,xn,以及一個整數 k(k<n)。從 n 個整數中任選 k 個整數相加,可分別得到一系列的和。例如當 n=4,k=3,
CODEVS 1008選數
stream 範圍 滿足 都是 sam scrip 屏幕 body blog 題目描述 Description 已知 n 個整數 x1,x2,…,xn,以及一個整數 k(k<n)。從 n 個整數中任選 k 個整數相加,可分別得到一系列的和。例如當 n=4,k=3,4 個
JS在頁面限制checkbox最大復選數
clas alert fonts 還要 val inpu choice 技術 tracking 應該是挺簡單的代碼, 記錄一下分享. 首先最直接的想法就是使用循環, 用局部變量記錄已選的checkbox, 達到最大值就將余下的checkbox都禁止選擇, 例如以下: