入門版:一線
記憶體限制:128 mib 時間限制:1000 ms 標準輸入輸出
題目型別:傳統 評測方式:文字比較
題目描述
有n堆石子排成一排(n<=100),現要將石子有次序地合併成一堆,規定每次只能選相鄰的兩堆合併成一堆,並將新的一堆的石子數,記為改次合併的得分,編一程式,由檔案讀入堆數n及每堆石子數(<=200);
(1)選擇一種合併石子的方案,使得做n-1次合併,得分的總和最少
(2)選擇一種合併石子的方案,使得做n-1次合併,得分的總和最多
輸入格式
第一行為石子堆數n 第二行為每堆石子數,每兩個數之間用一空格分隔。
輸出格式
從第1行為得分最小第二行是得分最大。
樣例樣例輸入
44 5 9 4
樣例輸出
4454
首先,本文講的是dp石子合併,而非貪心合併果子二者的區別就在於此——每次只能選相鄰的兩堆合併成一堆還是任意合併。
思路設dpmin[i]--[j]表示
附上**
1 #include2 #include3 #include4高階版:拆分using
namespace
std;
5int n,dpmax[500][500],dpmin[500][500]/*
前i-j最優解
*/,sum[500][500],read[500
],tot;
6int
main()713
for(int i=1;i<=n;i++)
1421
}22 memset(dpmin,0x3f,sizeof
(dpmin));
23for(int i=1;i<=n;i++)
24 dpmin[i][i]=0
; 25
for(int len=1;len)
2635 dpmax[i][j]+=sum[i][j];
36 dpmin[i][j]+=sum[i][j]; 37}
38}39 cout<1][n]<
40 cout<1
][n];
41 }
題目描述
在乙個園形操場的四周擺放n堆石子,現要將石子有次序地合併成一堆.規定每次只能選相鄰的2堆合併成新的一堆,並將新的一堆的石子數,記為該次合併的得分。 試設計出1個演算法,計算出將n堆石子合併成1堆的最小得分和最大得分.
輸入格式
資料的第1行試正整數n,1≤n≤100,表示有n堆石子.第2行有n個數,分別表示每堆石子的個數.
輸出格式
輸出共2行,第1行為最小得分,第2行為最大得分
樣例樣例輸入
樣例輸出4
4 4 5 9
1 #include2 #include3 #include4優化版:數學支援using
namespace
std;
5int n,dpmax[1001][1001],dpmin[1001][1001],sum[1001][1001],read[1001],tot,maxi,mini=99999999;6
intmain()721
}22 memset(dpmin,0x3f,sizeof
(dpmin));
23for(int i=1;i<=2*n-1;i++)
24 dpmin[i][i]=0
; 25
for(int len=1;len)
2635 dpmax[i][j]+=sum[i][j];
36 dpmin[i][j]+=sum[i][j];37}
38}39for(int i=1;i<=n;i++)
4044 cout
45 }
題目描述
在乙個園形操場的四周擺放n堆石子,現要將石子有次序地合併成一堆.規定每次只能選相鄰的2堆合併成新的一堆,並將新的一堆的石子數,記為該次合併的得分。
試設計出1個演算法,計算出將n堆石子合併成1堆最大得分.
輸入格式
資料的第1行試正整數n,1≤n≤2000,表示有n堆石子.第2行有n個數,分別表示每堆石子的個數.
輸出格式
輸出共1行,最大得分
樣例樣例輸入
樣例輸出4
4 4 5 9
54
1 #include2 #include3 #include4using
namespace
std;
5 unsigned int n,dpmax[4011][4011],sum[4011][4011],read[4011],tot,maxi,mini=99999999
,k;6
intmain()721
}22for(int len=1;len)
2330}31
for(int i=1;i<=n;i++)
32 maxi=max(maxi,dpmax[i][i+n-1
]);33 cout<
34 }
一家人 模擬)
時間限制 1 sec 記憶體限制 32 mb 提交 10 解決 7 提交 狀態 討論版 命題人 外部匯入 edit testdata 最近小明交了乙個新朋友叫小宇,他們在聊天的時候發現500年前他們竟然是一家人!現在小明想知道小宇是他的長輩,晚輩,還是兄弟。輸入包含多組測試資料。每組首先輸入乙個整數...
相親相愛一家人
眼看今年的高考就要來臨,在此我先祝願我的妹妹金榜題名,考入自己理想的大學。嘿嘿,還記得小時候妹妹是乙個 臭美 的人。總是喜歡化妝,然後穿漂亮的衣服。不過長大後則換做是我喜歡天天換衣服。自從上初中以後,妹妹就變了,變得不喜歡打扮自己,總是拼命的學習。花錢變得很節約。初中畢業我以還不錯的成績 至少我以為...
微軟一家人 在雲端執行的ServiceBus
teched2008大會已過去了快乙個月了,在大會上所看到的關於 azure的介紹至今還在頭腦中 不時出現。當然我本人不是什麼雲計算的狂熱支持者,到如今我的觀點也與蔡學鏞先生的差不多,就是關注加觀望 以免在雲端一腳踏空摔下來 另外就是我對雲的興趣目前也僅限在sds和 netservicebus這兩方...