POJ 1032 解題報告

2021-07-04 23:47:32 字數 905 閱讀 5072

p.s. 之前按照列表做,做著做著就做岔了。這裡回歸正軌。

這道題後來做成了找規律題(我用遞迴搜尋不出意外地tle了)。discuss 上面有好些關於規律的討論和證明,比如:

知道後就簡單了很多了。

這裡參考了的規律總結。

thestoryofsnow

1032

accepted

144k

0msc++

1028b

/* 

id: thestor1

lang: c++

task: poj1032

*/#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;

// see for explanation

int main()

i--;

sum -= i;

i--;

// printf("i: %d, sum: %d\n", i, sum);

int left = n - sum;

// 1.若剩餘值(n-sum)等於i,則最後輸出序列為:3,4,...,i,i+2,即將原最大序列每項加1,再將最後剩餘的乙個1加到最後一項上。

if (left == i)

printf("%d\n", i + 2);

} else

for (int j = 1 + i - 1 - left + 1; j <= i; ++j)

printf("\n");

} return 0;

}

POJ1032 數學規律

給出乙個n,把n拆分成多個不同的數,要求他們的乘積最大,公升序輸出這樣的序列 乙個數分成兩部分,要使得乘積最大必然是兩部分越接近越好 例如9分成4 5,這必然是分成兩份的所有方法中最大的 然後我們 對於 5,我們發現 5分成2 3,會 有 2 3 5,所以5還可以分,也就是對於x分成兩份,x y z...

poj 1032 整數拆分

給你乙個n問求使得 a1 a2 ak n時 a1 a2 ak最大。a1 a2.不相等。沒看懂題目意思。以下 思路 將乙個數分成2份,如何分,使得這兩個數乘積最大。答案是將這個數平分,證明是求x n x 的最大值。基於這種思路,將n分成乘積最大的不相等的多份,應使得其中每份的數相差盡量少,即差值為1的...

poj 1032 整數拆分

好吧,又抄了一篇,嘿嘿 給你乙個n問求使得 a1 a2 ak n時 a1 a2 ak最大。a1 a2.不相等。沒看懂題目意思。我也沒看懂 以下 思路 將乙個數分成2份,如何分,使得這兩個數乘積最大。答案是將這個數平分,證明是求x n x 的最大值。基於這種思路,將n分成乘積最大的不相等的多份,應使得...