湖北省隊互測2014 乙個人的數論

2022-05-19 02:33:19 字數 1753 閱讀 2663

題意:

定義$f_(n)$為所有小於n且與n互質的正整數的d次方之和。

給定$d,n=\prod \limits_^^}}$,求$f_(n)$對$10^+7$取模的值。

$d\leq 100,w\leq 1000,p_,a_\leq 10^9$。

題解:先簡單的整理一下式子,所求式為

$f_(n)=\sum \limits_^}$

$=\sum \limits_^ \sum \limits_}$

$=\sum \limits_^}}}$

$=\sum \limits_ \sum \limits_^}}}$

根據伯努利數那套推論,$\sum \limits_^}$是乙個以n為自變數的d+1次函式(多項式)。

於是我們先用$lagrange$插值把這個多項式的係數插出來,設其為$f(x)=\sum \limits_^}$。

然後繼續推,所求式為

$=\sum \limits_f(\frac)}$

$=\sum \limits_ \sum \limits_^)^}}$

$=\sum \limits_^(\frac)^}}$

根據狄利克雷卷積那套推論,如果$f(n)=\sum \limits_)}$,且f和g都是積性函式,那麼f也是積性函式。

(積性函式:若$(a,b)=1$,則$f(ab)=f(a)f(b)$)

觀察一下,$\mu(c),c^,(\frac)^$都是積性函式。

於是我們只需要算每個$n=p_^}$處的$\sum \limits_(\frac)^}$,然後乘起來即可。

注意到$\mu(c)$只在$c=1,p_$的時候不為0,所以有用的c就倆值,直接暴力算即可。

由於$d\leq 100$,算$f_i$的時候直接暴力算即可,總複雜度$o(d^+dw\log})$。

(注意快速冪的時候一定不要把次數取模,不要把次數取模,不要把次數取模!tat)

套路:**:

#include#define maxn 205

#define maxm 500005

#define inf 0x7fffffff

#define mod 1000000007

#define ll long long

#define rint register ll

#define debug(x) cerr<

namespace

std;

struct

pointp[maxn];

struct

poly

poly

operator+(const poly b)const

poly

operator*(const poly b)const

poly

operator^(const ll b)const

};ll p[maxm],al[maxm];

inline ll read()

inline ll pw(ll a,ll b)

inline ll inv(ll x)

inline poly lagrange(ll n)

res=res+(f^p[i].y);

}return

res;

}int

main()

ans=(ans+gi*f.a[i]%mod)%mod;

}printf(

"%lld\n

",ans);

return0;

}

乙個人的數論

乙個人的快樂

生活在這紛擾喧囂的世界,有時真的需要有自己獨處的空間。可以放飛自己的心靈,什麼都可以想,什麼都可以不想。一人獨處靜美隨之而來,清靈隨之而來,溫馨隨之而來 一人獨處的時候,貧窮也富有,寂寞也溫柔。可以漫步到水邊,佇立在無聲的空曠中,感受乙份清靈。讓心靈遠離塵囂紛亂的世界 默默的體驗花香,聆聽鳥鳴。欣賞...

乙個人的煙火

昨天是正月十五,好日子。月色撩人,我的心也被撩的亂七八糟的 回頭想想,我來大連已經六年了,可饒有興致的去看正月十五星海廣場的煙火表演,還真是是第一次 我喜歡安靜的生活,所以我很少出現在這樣人潮湧動的地方.也只有這樣擁擠的地方,體驗那種被人群包圍的感覺,我才多少能感受到自己的存在.過去的幾個月,我過的...

乙個人的戀愛

那時,走到教室總是會眼巴巴的盼望著你的到來 那時,總是有事沒事喜歡找你,和你膩在一起 那時,覺得你會成為我的全部 可是,很快就證明這只是我一廂情願。這時,我開始逃避,逃避打水那條必經路上的相遇 逃避碰見你們宿舍樓下的狂吻。但是,又會經過你們宿舍樓時有意無意的抬頭看看你們的陽台 又會在人群中尋找你的身...