Strange List 簡單數論 冪次

2021-10-14 04:28:52 字數 759 閱讀 2298

題目

題意:給定乙個序列a

ia_i

ai​和x,現要切分每個序列,如果當前數q

qq能整除x,則往序列新增x個q/x

q/xq/

x,接著繼續往後處理下乙個數,重複這個過程,直到遇到數q

qq不能整除x。問最後新序列的數的總和。

題解:觀察該過程,發現新增新數,本質上累加的是原始元素的權值。首先查詢這n個數裡邊,被x整除的最小冪次,遇到該數說明不能繼續切分了,會終止程式;確定了最小冪次,則每個數的貢獻次數就可知了,再基於此判斷哪些數有額外的一次貢獻,計算進去即可。

#include

using

namespace std;

#define ll long long

const

int maxn =

200010

;int n, x;

int a[maxn]

;int h[maxn]

;int

cal(

int val)

return num;

}int

main()

else}

ans +

= sum *

(mn +1)

;for

(int i =

0; i < n;

++i)

printf

("%lld\n"

, ans);}

}

簡單數論初步

定義 設 a,b in mathbb 且 b neq 0 如果存在 q in mathbb 使得 a bq 則 b 整除a,記作 b mid a 此時 b 為 a 的因數,a 叫做 b 的倍數.性質1 如果a mid b 且 b mid c 那麼 c mid a 證明 設an b,bm c n,m ...

簡單數論 質數

在 1 的整數中,如果只包含1和本身兩個約數,這個數就被稱為質數 素數。質數的判定 試除法 暴力列舉 o n bool is prime int n 簡單優化 o sqrt 對任意的d能整除n d n 顯然n除上d也能整除n frac n 如n 12,3是12的約數,4也是12的約數 2是12的約數...

簡單數論定理

pi x 來表示小於乙個正實數 x 的素數個數 pi x frac x rightarrow infty 任何乙個大於1的自然數 n 都可以唯一分解成有限個質數的乘積 n p 1 p 2 p k 這裡 p i 均為質數,其諸指數 a i 是正整數。將 n 分解質因數得 n p 1 p 2 p k 則...