洛谷 P1414 又是畢業季II

2022-08-31 06:09:13 字數 962 閱讀 2339

1 #include2

using

namespace

std;34

const

int inf=1e6+5;//

最大能力值

5const

int maxn=1e5+5;//

最多學生

6intn;7

int vis[inf];//

每個能力值出現的次數

8int num[inf];//

每個能力值倍數的個數

9int

ans[maxn];

1011

intmain()

23//

找每個能力值 倍數 的個數

24for(int i=1;i<=maxnn;i++)

25for(int j=i;j<=maxnn;j+=i)//

!!!j從i開始迴圈

26 num[i]+=vis[j];

27//

i這個數出現過num[i],沒出現過!num[i]

28//

i從小到大列舉,會把之前找到的更小的答案給覆蓋掉

29for(int i=1;i<=maxnn;i++)

30for(int j=num[i];j>=1;j--)//

num[i]表示i這個數是幾個數的因數,

31 ans[j]=i; //

也就是能被幾個數整除,這個迴圈可以找出

32//

能被1~n個數整除的數中最大的(i從小到大列舉)

33//

也就是找出任意1~n個數的最大公因數

3435

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

36 cout

3738

return0;

39 }

洛谷 P1414 又是畢業季II

題目背景 叮鈴鈴鈴 隨著高考最後一科結考鈴聲的敲響,三年青春時光頓時凝固於此刻。畢業的欣喜怎敵那離別的不捨,憧憬著未來仍毋忘逝去的歌。1000多個日夜的歡笑和淚水,全凝聚在畢業晚會上,相信,這一定是一生最難忘的時刻!題目描述 彩排了一次,老師不太滿意。當然啦,取每位同學的號數來找最大公約數顯然不太合...

又是畢業季II 洛谷p1414

叮鈴鈴鈴 隨著高考最後一科結考鈴聲的敲響,三年青春時光頓時凝固於此刻。畢業的欣喜怎敵那離別的不捨,憧憬著未來仍毋忘逝去的歌。1000多個日夜的歡笑和淚水,全凝聚在畢業晚會上,相信,這一定是一生最難忘的時刻!彩排了一次,老師不太滿意。當然啦,取每位同學的號數來找最大公約數顯然不太合理。於是老師給每位同...

洛谷 P1414 又是畢業季II

老師給每位同學評了乙個能力值。於是現在問題變為,從n個學生中挑出k個人使得他們的默契程度 即能力值的最大公約數 最大。但因為節目太多了,而且每個節目需要的人數又不知道。老師想要知道所有情況下能達到的最大默契程度是多少。這下子更麻煩了,還是交給你吧 ps 乙個數的最大公約數即本身。輸入格式 第一行乙個...