題面 輸入n個元素組成的序列,求其中連續子串行能組成的最大乘積。
值得一提的是這道題資料範圍很小 n<=18,序列裡每個數絕對值不超過10,所以暴力是完全行得通的。
大致想法就是列舉每一種可能的乘積,然後用貪心更替的辦法找到最大值。
注意 要開longlong,int放不下10^18。
#include
#include
#include
#include
using
namespace
std;
int a[20],n;
long
long b[20],maxx;
int main()
long
long x=1;
// memset(b,1,sizeof(b));
for(int head=1;head//注意這裡是小於不是小於等於
if(x>maxx) maxx=x;
x=1;//貪心
}//以上遍歷了所有可能情況,現在只需要求最大值就可以了
// for(int j=1;j<=n;j++)
} cout
<}
DFS BFS 最大乘積
今年是國際數學聯盟確定的 2000 世界數學年 又恰逢我國著名數學家華羅庚先生誕辰90周年。在華羅庚先生的家鄉江蘇金壇,組織了一場別開生面的數學智力競賽的活動,你的乙個好朋友xz也有幸得以參加。活動中,主持人給所有參加活動的選手出了這樣一道題目 設有乙個長度n的數字串,要求選手使用k個乘號將它分成k...
WinterEx 最大乘積
時間限制 1 sec 記憶體限制 128 mb 乙個正整數一般可以分為幾個互不相同的自然數的和,如3 1 2,4 1 3,5 1 4 2 3,6 1 5 2 4,現在你的任務是將指定的正整數n分解成若干個互不相同的自然數的和,且使這些自然數的乘積最大。只乙個正整數n,3 n 10000 第一行是分解...
YTU OJ 最大乘積
時間限制 1 sec 記憶體限制 128 mb 提交 292 解決 39 提交 狀態 討論版 命題人 acm4302 對於n個數,從中取出m個數,如何取使得這m個數的乘積最大呢?第一行乙個數 代表資料組數 每組資料共兩行 第一行兩個正整數n m,n,m 20 第二行給出n個整數,其中每個數的絕對值小...