洛谷 1593 因子和 組合數學

2021-08-09 20:05:10 字數 976 閱讀 5008

題目傳送門

好像這題並不是組合數學啊……只是乙個套公式的題目罷了。

乙個正整數

n 有素因子分解=p

a11∗

pa22

∗…∗p

amm,則有以下兩個定理:1.n

的因子和

=pa1

+11−

1p1−

1∗pa

2+12

−1p2

−1∗…

∗pam

+1m−

1pm−

1=∏i

=1mp

ai+1

i−1p

i−1

2.n的因

子個數=

(a1+

1)∗(

a2+1

)∗…∗

(am+

1)=∏

i=1m

(ai+

1)然後這題就變成了直接套第一條定理的水題,直接對於每個素因子快速冪求貢獻即可。

然而這題給出的模數9901是乙個質數,可能被給出的

n 包含,需要特判一下。

p.s.這題在poj上也有,題目要為1845,只是因為poj最近在維護所以不能交就去洛谷了。

附上ac**:

#include 

using namespace std;

typedef long long ll;

const int mod=9901;

ll a,b,c,ans;

inline ll ksm(ll x,ll y)

return sum;

}int main(void)

if (a>1&&a!=9901) ans=ans*(ksm(a,b+1)-1)%mod

*ksm(a-1,mod-2)%mod;

printf("%lld",ans);

return

0;}

組合數學 洛谷

p1287盒子與球 題意 現有 r 個互不相同的盒子和 n 個互不相同的球,要將這 n 個球放入r 個盒子中,且不允許有空盒子。請求出有多少種不同的放法。資料範圍 對於 100 的資料,保證 0 r n 10,且答案小於 2 31.分析 n個球,從中取出乙個球,有倆種放法,1 bi獨佔乙個盒子,那麼...

洛谷 因子和

題目傳送 題意 思路 肯定是唯一分解,然後就是自己推公式了 公式 那麼這個怎麼快速的求得呢?我們看到,這是個等比數列求和的乘積 等比數列求和的公式是 n為第n項,我們可以利用逆元來快速求解 但是現在還有乙個問題每當逆元不存在的時候,怎麼辦?也就是說當p 1是 模數的倍數的時候,怎麼求呢?首先有公式 ...

洛谷 P1037 floyd 組合數學 高精度

給出乙個整數n n 1030 n n 10 n n 1030 和k k k個變換規則 k 15 k le 15 k 15 規則 一位數可變換成另乙個一位數 規則的右部不能為零。例如 n 234n 234n 234。有規則 k 2 2 5 3 6 上面的整數234經過變換後可能產生出的整數為 包括原數...