程式設計開發求解吊燈問題

2022-09-23 11:03:11 字數 1131 閱讀 9880

description

alice家裡有一盞很大的吊燈。所謂吊燈,就是由很多個燈泡組成。只有乙個燈泡是掛在天花板上的,剩下的燈泡都是掛在其他的燈泡上的。也就是說,整個吊燈實際上類似於一棵樹。其中編號為1的燈泡是掛在天花板上的,剩下的燈泡都是掛在編號小於自己的燈泡上的。

現在,alice想要辦一場派對,她想改造一下這盞吊燈,將燈泡換成不同的顏色。她希望相同顏色的燈泡都是相連的,並且每一種顏色的燈泡個數都是相同的。

alice希望你能告訴她,總共有哪些方案呢?

alice是乙個貪心的孩子,如果她發現方案不夠多,或者太多了,就會很不高興,於是她會嘗試調整。對於編號為x(x≠1)的燈泡,如果原來是掛在編號為f[x]的燈泡上,那麼alice會把第x個燈泡掛到第 ( f[x] + 19940105 ) mod (x-1) + 1 個燈泡上。

由於九在古漢語中表示極大的數,於是,alice決定只調整9次。對於原始狀態和每一次調整過的狀態,alice希望你依次告訴她每種狀態下有哪些方案。input

第一行乙個整數n,表示燈泡的數量。

接下來一行,有n-1個整數ui,第i個數字表示第i+1個燈泡掛在了ui個的下面。保證編號為1的燈泡是掛在天花板上的。數字之間用逗號『,』隔開且最後乙個數字後面沒有逗號。output

對於10種狀態下的方案,需要按照順序依次輸出。對於每一種狀態,需要先輸出單獨的一行,表示狀態編號,如樣例所示。

之後若干行,每行1個整數,表示劃分方案中每種顏色的燈泡個數。

按公升序輸出。

sample input

61,2,3,4,5

sample output

case #1:12

36

case #2:12

6case #3:13

6case #4:13

6case #5:13

6case #6:12

6case #7:12

36

case #8:16

case #9:12

6case #10:13

6hint

對於100%的資料,n<=1.2*106。題解

結論題,如果ans是乙個合法的塊的大小,那麼在n個點中子樹大小是ans的倍數的節點數一定等於n/ans。

統計每個節點的子樹大小,加入桶中,列舉n的因數判斷。

程式設計開發Gang團夥問題求解

程式設計開發gang團夥問題求解。在某城市裡住著n個人,任何兩個認識的人不是朋友就是敵人,而且滿足 1 我朋友的朋友是我的朋友 2 我敵人的敵人是我的朋友 所有是朋友的人組成乙個團夥。告訴你關於這n個人的m條資訊,即某兩個人是朋友,或者某兩個人是敵人,請你編寫乙個程式,計算出這個城市最多可能有多少個...

問題求解與程式設計

問題提出時,想要利用計算機進行求解,而一般計算機不會分析問題並直接給出解決問題的方案,故我們個人需要分析問題並給出問題的解決方案,再將其描述成計算機能識別的指令 程式 讓計算機進行複雜處理,最終得到問題結果,在這一過程中,計算機確起著非常重要的作用,但是要是沒有前面的一系列步驟,也不能解決問題 程式...

本人初學程式設計,遇到問題,求解答

上位機程式設計 從網上直接找的串列埠程式 void c串列埠v2dlg oncommmscomm1 long k variant inputdata m mscom.get input colesafearray fs fs inputdata for k 0 k 編譯總是出現錯誤 warning ...