【歷年代碼】
【17上】
找假幣?假幣輕
1)for(i=first;i<first+(last-first)/2+1;i++)? ? //左半?yún)^(qū)
2)if(firstsum<lastsum);?? ??? ??? ??? ??? ??? ??? ?? ? //左邊輕
3)return first+(last-first)/2;?? ??? ??? ??? ??? ?? ? ? //左邊=右邊,中間假幣
4)分治
5)O(log2n)
6)2
7)4

【17下】
漢密爾頓回路?無向連通圖
1)visited[0]=1
2)visited[x[k]]==0
3)c[x[k]][0]==1
4)visited[x[k]]=1
5)k=k-1
6)回溯
7)深度優(yōu)先

【18上】
鋼條最大價值
1)i<=n?
2)i<=j
3)temp>=p[i]+r[j-i]?temp:p[i]+r[j-i]
4)r[j]=temp
5)動態(tài)規(guī)劃
6)O(2的n方)
7)O(n2)

【18下】
字符序列二級結構最優(yōu)配對
1)max=C[i][j-1]
2)t=i
3)isMatch(B[t],B[j])
4)C[1][n]
5)動態(tài)規(guī)劃
6)O(n3)
7)2

【19上】
N皇后
1)queen[i]==queen[j]
2)1
3)Place(j)?? ??? ?? ? //j是行?改行可擺
4)Nqueen(j+1)
5)回溯法
6)2
7)(3,1,4,2)(2,4,1,3)

【19下】
01背包
1)c[i][j]
2)w[i]<=j
3)Caclulate_Max_Value(v,w,i,j-w[i])+v[i]
4)c[i][j]=temp
5)動態(tài)規(guī)劃
6)自頂向下
7)40

【20下】
希爾排序
1)k=k/2
2)k>1
3)data[k-dk]>data[k]
4)data[j+dk]=t
5)x小于
6)否
7)(4,9,-1,8,20,7,15)

【21上】
凸多邊形最優(yōu)剖分方案
1)i <= N
2)j = i + r - 1
3)temp < m[i][j]
4)S[i][j] + 1, j
5)動態(tài)規(guī)劃
6)O(n3)
7)O(n2)

【22上】
矩陣連乘
1)j=i+p;
2)k<j;
3)cost[i][k]+cost[k+1][j]+seq[i]*seq[k+1]*seq[j+1]
4)trace[i][j]=tempTrace;
5)動態(tài)規(guī)劃
6)O(n3)
7)5375
15*5? ? 5*10? ? 10*20? ? 20*25
1?? ??? ?? ? 2?? ??? ?? ? 3?? ??? ?? ? 4
2*3?先? ? 5*10*20=1000,5*20
23*4??? ?? 5*20*25=2500,5*25
1*234?? ?? ? 15*5*25=1875,
1*(23*4)? ? 5375
,,
3*4?先? ? 10*20*25=5000,10*25
2*34? ? 5*10*25=750