題解 輕拍牛頭

2021-10-09 01:31:19 字數 962 閱讀 4231

今天是貝茜的生日,為了慶祝自己的生日,貝茜邀你來玩乙個遊戲.貝茜讓n(1≤n≤100000)頭奶牛坐成乙個圈.

除了1號與n號奶牛外,i號奶牛與i-l號和i+l號奶牛相鄰.n號奶牛與1號奶牛相鄰.農夫約翰用很多紙條裝滿了一

個桶,每一張包含了乙個獨一無二的1到1,000,000的數字.接著每一頭奶牛i從柄中取出一張紙條ai.每頭奶牛輪

流走上一圈,同時拍打所有編號能整除在紙條上的數字的牛的頭,然後做回到原來的位置.牛們希望你幫助他們確

定,每一頭奶牛需要拍打的牛.

輸入第1行包含乙個整數n,接下來第2到n+1行每行包含乙個整數ai.

輸出第1到n行,每行的輸出表示第i頭奶牛要拍打的牛數量.

樣例輸入

5 //有五個數,對於任乙個數來說,其它的數有多少個是它的約數21

234輸出

2021

3看題目首先想到奶牛持有的卡號被整除的次數為多少,因此直接ans[a[i]]。但是當資料過大時會超時,因此直接的篩法會炸。

80分程式:

#includeusing namespace std;

const int n=1000001;

int n;

int a[n],cnt[n],s[n];

int main()

for(int i=1;i<=n;i++)

for(int j=i;j<=n;j+=i)

s[j]+=cnt[i];

for (int i=0;iac程式:

#include using namespace std;

int a[100005], b[1000005], ans[1000005];

int main()

for(int i = 1; i <= mx; i++)

}for(int i = 1; i <= n; i++)cout

}

數學基礎 質數(輕拍牛頭)

問題描述 原題來自 usaco 2008 dec.silver 今天是貝茜的生日,為了慶祝自己的生日,貝茜邀你來玩乙個遊戲。貝茜讓 n頭奶牛坐成乙個圈。除了 1 號與 n 號奶牛外,i 號奶牛與 i 1號和 i 1 號奶牛相鄰,n 號奶牛與 1號奶牛相鄰。農夫約翰用很多紙條裝滿了乙個桶,每一張包含了...

acwing 1291 輕拍牛頭

acwing 1291.輕拍牛頭 如果直接用暴力解法,逐個判斷其他的數是不是它的約數,這樣時間複雜度是o n 2 o n 2 o n2 資料規模是105 10 5 105,會超時 假設a 1a 1 a1 是a 2a 2 a2 的約數的話,那麼a 2a 2 a2 就是a 1a 1 a1 的倍數,因此可...

BZOJ 1607 輕拍牛頭

time limit 3 sec memory limit 64 mb submit 1245 solved 650 submit status discuss 今天是貝茜的生日,為了慶祝自己的生日,貝茜邀你來玩乙個遊戲 貝茜讓n 1 n 100000 頭奶牛坐成乙個圈 除了1號與n號奶牛外,i號奶...