小道訊息
給定 \(n,k\),每次被感染的數會傳染給 \([1,n]\) 中與它互質的數。
第 \(0\) 輪時 \(k\) 被感染,求第多少輪所有數都被感染。
簽到好題,符合近年 noip 第一題趨勢(csp-2020 除外)。
首先良心出題人給了你伯特蘭-切比雪夫定理:
若整數 \(n>3\),則至少存在乙個質數 \(p\),符合 \(n。那麼顯然這個結論是要記住的,然後使用稍弱的說法即可通過本題。另乙個稍弱說法是:對於所有大於 \(1\) 的整數 \(n\),存在乙個質數 \(p\),符合 \(n。
討論三種情況:
\(k\) 為質數且 \(\lfloor\frac\rfloor。
那麼對於乙個質數而言,所有非它倍數的數均與它互質。
由於 \(k\times 2>n\),所以顯然 \([1,n]\) 中除 \(k\) 外的所有數皆與 \(k\) 互質。
所以僅需一輪。
\(k\) 為質數且 \(k\leq \lfloor\frac\rfloor\)。
那麼對於質數 \(k\) 而言,\([1,n]\) 一定有它的倍數,所以一定不能一次完成。
但是根據以上定理,顯然在 \([\lceil\frac\rceil,n]\) 區間中一定有乙個質數 \(p\)。
質數與質數必定互質,那麼一輪之後問題轉化為情況一,共需兩步。
\(k\) 為合數。
顯然對於合數,一開始必定不和所有數互質。
但是根據定理,\(k\) 必定與 \([\lceil\frac\rceil,n]\) 區間中的質數 \(p\) 互質。
於是問題轉化為情況一,共需兩步。
#include#include#include#include#includeusing namespace std;
long long x,k;
bool prime(long long x)
int main()else puts("2");
return 0;
}
完結撒花 洛谷 P5535 XR 3 小道訊息
你可能需要用到的定理 伯特蘭 切比雪夫定理。對於所有大於1的整數n,至少存在乙個質數p,符合n p 2n。而k 1 2,滿足條件,所以就分情況討論即可 當k 1為質數,且 n 1 2 k 1 n 1 因為 2 n 1 沒有數為它的倍數,即任何數與它互質,所以只需要一天即可 當k 1為質數,且k 1 ...
P5534 XR 3 等差數列
小 x 給了你乙個等差數列的前兩項以及項數,請你求出這個等差數列各項之和。等差數列 對於乙個 nn 項數列 aa,如果滿足對於任意 i in 1,n i 1,n 有 a a i dai 1 ai d,其中 dd 為定值,則稱這個數列為乙個等差數列。一行 33 個整數 a 1,a 2,na1 a2 n...
P5536 XR 3 核心城市(樹的直徑)
x 國有 nn 座城市,n 1n 1 條長度為 11 的道路,每條道路連線兩座城市,且任意兩座城市都能通過若干條道路相互到達,顯然,城市和道路形成了一棵樹。x 國國王決定將 kk 座城市欽定為 x 國的核心城市,這 kk 座城市需滿足以下兩個條件 這 kk 座城市可以通過道路,在不經過其他城市的情況...