倒霉的小C 數論

2022-09-03 06:42:09 字數 1098 閱讀 3078

小g最近迷上了島國動漫《angel beats》,她為了畫出乙個更霸氣的angel beats的logo,想了如下辦法:

從(0,0)開始,畫到(n,1),再從(n,1),畫到(2*n,-1),再到(3*n,2),再到(4*n,-2),依此類推,即每次畫出乙個(n,(-1)^(i+1)*i)的向量,一共畫出n個這樣的向量。現在小g想讓小c求出這個圖形穿過了多少格點(座標都是整數)。

由於小c想要認真地聽他的數學課並且想自己在接力賽中因rp暴光而發生接力棒傳錯這類的糗事,所以這個問題就交給你啦。小g說,如果連你也解決不好,就把你的rp也吸光。

50分做法:

直接求上式,時間複雜度o(n

logn

)'>o(nlogn)o(

nlog

n)'>

100分做法: 

隨便取乙個數,找一下規律。

分解後為

再統計一下每個數字的個數。

不難發現,數字i

'>i

i出現的次數就是φni

'>φni

那麼就列舉n

'>n

n的約數,求出φ

i'>φi和φn

i'>φni,計算答案即可。 

時間複雜度:約o(n

)'>o(√n)

#include #include 

#include

#define fre(x) freopen(#x".in","r",stdin),freopen(#x".out","w",stdout);

using

namespace

std;

long

long

ans,sum,n,a;

long

long phi(long

long x) //

求phi[i]

if (x>1) ans=ans/x*(x-1

);

return

ans;

}int

main()

printf(

"%lld\n

",sum+1

);

return0;

}

倒霉的小C 數論

求 i 1ng cd i n role presentation ni 1gc d i,n i 1ng cd i n 題目描述絕對沒有你想象的那麼簡單。t950分做法 直接求上式,時間複雜度o nlog n role presentation o n logn o n logn 100分做法 隨便取...

倒霉的小C 數論

求 i 1ng cd i n role presentation ni 1gc d i,n i 1ng cd i n 題目描述絕對沒有你想象的那麼簡單。t950分做法 直接求上式,時間複雜度o nlog n role presentation o n logn o n logn 100分做法 隨便取...

倒霉的面試

哥去微軟面試,第一句話就被趕出來了 考官 windows 7專業版在中國大陸的零售價是多少?我 5元 考官 出去,下一位 託朋友找到了麥當勞的工作。但是對方很 讓我唱麥當勞的歌曲,當時哥就笑了,麥當勞的歌曲我從小就會。於是我張口就來 有了肯德基,生活好滋味!考官 出去 麥當勞面試失敗了。我媽媽拖人找...