幣值最大化問題 C C

2021-09-29 15:37:23 字數 897 閱讀 1102

問題:給定一排n個硬幣,其面值均為整數c1, c2, …, cn, 這些整數並不一定兩兩不同。問如何選擇硬幣,使得在其原始位置互不相鄰的條件下,所選硬幣的總金額最大。

利用f陣列記錄前n個硬幣的最佳選擇方案,然後根據最優化原理開始優化。

本文給出了f(n)的遞推關係式,**,時間複雜度以及n=6時的一組示例資料

// 1. f(n)=max

// 2. isselected陣列記錄c中對應的數是否被選中,若選中,則記1

#include

#define n 6

using namespace std;

int main()

,f[n+1];

for (i = 1; i <= n; i++) cin >> c[i - 1];

f[0] = 0;

f[1] = c[0];

for (i = 2; i <= n; i++)

else

f[i] = f[i - 1];

}i = n;

while (i > 1)

else if (f[i] == f[i - 2] + c[i - 1]) }

if (f[3] == f[1] + c[2]) isselected[0] = 1;

cout << f[n] << endl;

for (i = 1; i <= n; i++)

if (isselected[i - 1] == 1) cout << c[i - 1] << ' ';// 3.t(n)=3n=o(n)

/* 4. c[5]=

i f[n]

0 01 5

2 53 5+2

4 5+10

5 (5+2)+6

6 (5+10)+2 = 17

*/

視窗最大化

1 jframe 視窗最大化,在建構函式中 新增如下 this.setextendedstate jframe.maximized both 2 jinternalframe視窗最大化,需要在新增到jframe的desktoppane之後設定,如下 bookframe.setmaximum true...

C mdi子窗體最大化問題

c mdi子窗體最大化 2008 08 15 13 23 有時候我們需要在子窗體顯示的時候就是最大化 也就是填充了整個父窗體 但通常會遇到以下麻煩 如果在 visual studio 2005裡通過屬性工具欄設定了子窗體的 windowstate 為 maximized,然後在執行過程中會發現子窗體...

Windows開發 視窗最大化問題

movewindow 0,0,1920,1080 和sendmessage wm syscommand,sc maximize,0 的區別 movewindow 0,0,1920,1080 我們可以分為視窗有標題欄和沒有標題欄兩種情況進行討論 首先來看有標題欄的情況的效果如下圖所示,movewind...