題目541最強DE 戰鬥力

2021-07-29 23:19:40 字數 1438 閱讀 7767

時間限制:

1000 ms  |  記憶體限制:

65535 kb

難度:3 描述

春秋戰國時期,趙國地大物博,資源非常豐富,人民安居樂業。但許多國家對它虎視眈眈,準備聯合起來對趙國發起一場戰爭。

顯然,面對多個國家的部隊去作戰,趙國的兵力明顯處於劣勢。戰鬥力是決定戰爭成敗的關鍵因素,一般來說,一支部隊的戰鬥力與部隊的兵力成正比。但當把一支部隊分成若干個作戰隊伍時,這個部隊的戰鬥力就會大大的增強。

一支部隊的戰鬥力是可以通過以下兩個規則計算出來的:

1.若一支作戰隊伍的兵力為n,則這支作戰隊伍的戰鬥力為n;

2.若將一支部隊分為若干個作戰隊伍,則這支部隊的總戰鬥力為這些作戰隊伍戰鬥力的乘積。

比如:一支部隊的兵力為5時的戰鬥力分析如下:

情況作戰安排

總的戰鬥力

1,1,1,1,1(共分為5個作戰隊伍)

1*1*1*1*1=1

1,1,1,2   (共分為4個作戰隊伍)

1*1*1*2=2

1,2,2     (共分為3個作戰隊伍)

1*2*2=4

1,1,3     (共分為3個作戰隊伍)

1*1*3=3

2,3(共分為2個作戰隊伍)

2*3=6

1,4        (共分為2個作戰隊伍)

1*4=4

5           (共分為1個作戰隊伍)

5=5     顯然,將部隊分為2個作戰隊伍(乙個為2,另乙個為3),總的戰鬥力達到最大!

輸入第一行: n表示有n組測試資料. (2<=n<=5)

接下來有n行,每行有乙個整數ti 代表趙國部隊的兵力. (1<=ti<=1000) i=1,…n

輸出對於每一行測試資料,輸出佔一行,僅乙個整數s,表示作戰安排的最大戰鬥力.

樣例輸入

254

樣例輸出

64

動態規劃加大數問題

之前剛讀完題就開始做,沒發現結果很大。。以後還是仔細讀讀題在做,不然很浪費時間。

如果範圍小的話

#includeint dp[1010];

int main()

return 0;

}void mult(string &res,string s,int n)

while(m>0)

str[k]='\0';

int l=strlen(str);

for(i=l-1,k=0;i>=0;k++,i--)

ss[k]='\0';

res=ss;

}int main()

}scanf("%d",&t);

while(t--)

return 0;

}

nyoj541最強DE戰鬥力

nyoj541 1.數字二和三能組成任何數,因此乙個數的最大值的乘積 為2 m 3 n 2.然而3 n 2 n 能用3就不用2 3 1 2 n 1次時 但同時要考慮乙個問題 什麼時候用2 不用 3,其實就是 一種情況 除3的時候有餘數1就浪費了 1 x,不如 給2 就像4 這樣 4 3 1 1 3 ...

最強DE 戰鬥力 nyoj541

題意不用解釋了就是求積最大,但考慮到什麼時候積會是最大 a1 a2 an m a1 a2 an max 要求當a1 an n 時求他們所有值得最大乘積當且僅當 a1 a2 a3 an 所以原式化簡為 n a m max a n 帶入解得最大的取值為3 所以取值都是3的倍數,接下來就是個大數處理問題,...

最強DE 戰鬥力

t7最強de 戰鬥力 時間限制 1000 ms 記憶體限制 65535kb 問題描述 春秋戰國時期,趙國地大物博,資源非常豐富,人民安居樂業。但許多國家對它虎視眈眈,準備聯合起來對趙國發起一場戰爭。顯然,面對多個國家的部隊去作戰,趙國的兵力明顯處於劣勢。戰鬥力是決定戰爭成敗的關鍵因素,一般來說,一支...