hdoj 4315 容斥原理)

2021-10-03 06:29:22 字數 1185 閱讀 2157

問題描述

給定數字n,要求您計算a和b之間的整數(與n相對質數)。相對於n而言,如果

兩個整數除1以外沒有共同的正除數,則稱這兩個整數為互質或相對質數。同樣,如果它們的最大公約數為1,則數字1對每個整數都是質數。

輸入值

輸入的第一行包含t(0輸出量

對於每個測試用例,請列印a到b之間(包括n在內)的整數數目。請遵循以下輸出格式。

樣本輸入

21 10 2

3 15 5

樣本輸出

案例1:5

案例2:10

暗示

在第乙個測試用例中,相對於2質數為[1,10]的五個整數為。

題意:給定一段區間 a-b 乙個數n 求在a-b區間內與n互質數的個數

互質性質很容易聯想到尤拉定理,但是區間範圍大,不宜遍歷

我們採用的方式是:先求出數n的質因數,n的質因數的倍數顯然不與n互質。

故我們只需要求出在區間a-b中與n不互質的數的數量x 最後b-a-x 就是我們要求的a-b區間內互質的數。其中,a-b中與n不互質的數可先求出 1-b的不互質數再求出1-(a-1)的不互質數相減得到。

#include

#include

#include

#include

#include

const

int n =

10010

;typedef

long

long ll;

using

namespace std;

ll p[n]

,k;void

get(ll n)

//得出n的質因數的個數}if

(n>

1) p[k++

]=n;

}ll no

(ll m)

for(

int i=

1;i) sum+

=m/que[i]

;return sum;

}int

main()

return0;

}

hdoj4336(容斥原理or概率DP)

題目大意 n種卡牌,每種卡牌被抽到的概率依次為p1,p2,pn,抽一次最多抽到一張,最少0張。問抽滿n種卡的次數的期望。用容斥原理來做,先單獨考慮,再減去重複的。比如有兩種卡牌a,b,分別為p1,p2,抽到a牌的期望為1 p1,抽到b牌的期望為1 p2,然而抽a牌時會有對b牌的重複,抽b牌亦然。根據...

容斥原理 數論

兩個集合的容斥關係公式 a b a b a b a b 重合的部分 三個集合的容斥關係公式 a b c a b c a b b c c a a b c 最後可以推廣到n個集合,集合裡的元素為奇數則加,偶數減 hdu 4135 很簡單,直接求出所有的質因子,然後容斥解決 author crystal ...

容斥原理,反演

大概知道為什麼自己水平比較渣啦。一開始只會反演,然後被容斥驚豔到。然後寫了一段時間容斥,反演忘光光。所以融會貫通真的很難。多校的三道題,當時是用反演做的。事實上以前就知道容斥跟莫比烏斯函式值的關係,然後熟練掌握 然後一段時間沒用就忘了哈。簡單來說就是,求乙個數和乙個集合中的數互質的個數,把集合中乙個...