bzoj2749 數論 外星人

2021-08-28 06:40:53 字數 928 閱讀 2119

description

input

output

輸出test行,每行乙個整數,表示答案。

sample input

2 2

3 1

sample output

hint

test<=50 pi<=105,1<=q1<=109

題解

其實hint裡面那張圖告訴了我們做法…

如果p

ip_i

pi​是大於2的質數,那麼每次操作會多出至少乙個2

如果有2,那麼每次操作會消去乙個2

預處理f[i]表示第i個數能搞出多少個2

答案就是2的個數

注意如果一開始沒有2,那麼先要一次操作弄出來至少乙個2

#include#include#include#include#include#define ll long long

using namespace std;

inline int read()

while(ch>='0'&&ch<='9')

return x*f;

}int f[110000],pri[110000],pr;

bool v[110000];

void get_pri() }}

int main()

printf("%lld\n",ans);

} return 0;

}

bzoj2749 外星人 數論

一開始還以為求方程 n x 1的解。後來看了半天沒有發現模數。原來下面還有樣例解釋。注意到解釋中有乙個 2 1,即為這道題目的突破口。乙個顯然的事實是,要消去pi這個質數,至少需要qi次。而求一次 x pi就會分解出乙個質因數2。而2分解以後就只剩下1了。而每次只能消去1個2,所以實際上是求能夠分解...

2749 HAOI2012 外星人 數論

這個題的關鍵是要找出乙個與操作次數相關的量。這個量就是2 22在取 phi 過程中的2 22因子個數。因為如果一開始沒有2 22,那麼在某乙個大於2 22的質數 1 1 1後就會出現,一開始有2 22,那麼這次就會把這個2 22變成1 11。所以算一下過程中2 22的個數即可。include usi...

Pygame 外星人入侵(7)外星人壓境

二 更加合理地移動 三 小結 在之前的博文中,實現了在螢幕上繪製一大群外星人,現在我們想讓這群外星人動起來,它們的移動遵循著一定的規律。我們首先要實現的是,如何讓一群外星人一起向螢幕右側移動。遊戲引數性質的變數統一存放在 設定模組中的設定類中 6 外星人的屬性 6。1 外星人移動的速度 self.a...