libreoj 125 除數函式求和2 題解

2021-10-03 21:33:28 字數 1394 閱讀 6815

部落格觀賞效果更佳

給定 n

nn,求 ∑i=

1n2σ

2(i)

+3σ1

(i)+

5σ0(

i)

\sum\limits_^ 2\sigma_2(i)+3\sigma_1(i)+5\sigma_0(i)

i=1∑n​

2σ2​

(i)+

3σ1​

(i)+

5σ0​

(i)

n

<=1

e9

n<=1e9

n<=1

e9其中 σk(

x)=x

\sigma_k(x)=x

σk​(x)

=x所有因數的 k

kk 次方和。

我們反過來想,列舉每個因數對答案產生了多少貢獻。

顯然,乙個因數 d

dd 對答案產生的貢獻就是 2d2

+3d+

52d^2+3d+5

2d2+3d

+5。那麼有多少 i

ii 算到了這個 d

dd 呢?只要是 d

dd 的倍數,都能算到,所以一共有 ⌊nd

⌋\lfloor \dfrac\rfloor

⌊dn​

⌋ 個。

答案變成了 ∑d=

1n(2

d2+3

d+5)

⌊nd⌋

\sum\limits_^ (2d^2+3d+5)\lfloor \dfrac\rfloor

d=1∑n​

(2d2

+3d+

5)⌊d

n​⌋

整除分塊,一次 o(n

)o(\sqrt)

o(n​

)

#include

using

namespace std;

namespace flandre_scarlet

voidrd(

int cnt,..

.)va_end

(args);}

int n;

void

input()

ints1

(int x)

ints2

(int x)

ints

(int x)

void

soviet()

printf

("%lld\n"

,ans);}

#define flan void

flan ismywife()

#undef int

//long long

}int

main()

與眾不同 LibreOJ 10121

題目描述 a 是某公司的 ceo,每個月都會有員工把公司的盈利資料送給 a,a 是個與眾不同的怪人,a 不注重盈利還是虧本,而是喜歡研究 完美序列 一段連續的序列滿足序列中的數互不相同。a 想知道區間 l,r l,r 之間最長的完美序列長度。輸入格式 第一行兩個整數 n,m n,m,n n 表示連續...

題解 LibreOJ 6229 題解

題目鏈結 給定 n 求 f n sum n sum i frac i,j bmod 10 9 7 1 le n le 10 9 首先,這個求和範圍有些不爽,利用對稱性轉化一下得 f n frac 12 left n sum n sum n frac i,j right 然後推一下式子 begin s...

1 25 繼承對映

三種方法實現表的繼承。1.student和teacher放在乙個表中。2.每個類分別一張表。3.共用屬性乙個表,每個子類一張表。一 第一種實現方式。student的屬性,teacher的屬性放在乙個表中,用乙個字段 fenlei 來區分是學生和老師。person類 entity inheritanc...