pku judgeonline, 1702, eva'sbalance是乙個平衡三進製問題的例項。將乙個某進製數轉換為平衡三進製數的方法為:先轉化為用0,1,2表示的3進製,然後通過「借位」轉換。也即:
若對應的係數為2,則變為-1,高一位+1。
若對應的係數為3,則變為0,高一位+1。
為0或1時不變
pku judgeonline, 1702, eva's balance.
有乙個天平和一套重量為3^n的砝碼,每種砝碼只有乙個。給定乙個重量,給出維持天平平衡的砝碼和重物的放置方法。39
520empty9
1,39
1,9 3,27
#include#include#includeusing namespace std;
int main()
for(i =0; i < top; i++)}}
poise = 1;
first = 1;
for(i =0; i < top; i++)else
}poise *= 3;
}if(first== 1)
cout << "";
poise = 1;
first = 1;
for(i =0; i < top; i++)else
}poise *= 3;
}if(first== 1)
cout << endl;
}}
32.2 按位運算
pku judgeonline, 3652, persistent bits.
任一分數1/n (2 ≤ n ≤ 100),均可表示為迴圈小數的形式。例如:
1/2= .5
1/3= .(3)
1/6= .1(6)
求1/n的迴圈小數表示形式中k(0 ≤ k ≤ 9)出現的次數。
3573701
1由於這裡的n僅是乙個兩位數,所以這個題目顯得比較簡單。
#include#include#include#includeint a[101][10];
int b[101][100];
int main()
b[i][remain] ++;
remain = remain * 10;
divided = remain/i;
remain = remain%i;
a[i][divided] ++;}}
a[10][1] = 1;
for(i = 11;i < 100; i++)
/*if(i== 12)
cout<< "remain" <> n >> k)
cout <
本文中沒有加以注釋的演算法在[i]中都可以找到。本文中沒有介紹的算**述、推導也基本可以在該文中找到。
[ii]文對狀態空間搜尋的討論十分細緻、深入,圖示也非常清晰明了,寫得非常不錯。
[iii]文也是介紹人工智慧的非常不錯的書。
[iv]文內容豐富,不過由於很多問題沒有詳細引入數學模型和推導證明,所以稍顯複雜難懂。
[v]文中對圖演算法進行了綜合、精細的論述,其中最惹人注目的是其中對於演算法的數學模型分析,如其中的第四章。但是該文比較難懂。
[vi]文中對尤拉迴路、尤拉通路、有向尤拉迴路、有向尤拉通路進行了介紹。不過其中的演算法描述不夠精煉、清晰。
[vii]文全面介紹了最小割模型的原理和應用。
[viii]介紹了圖。
本文的很多演算法的實現很多都沒有優化。例如prim演算法中,從集合中取出最小的一條邊,並從集合中刪除的實現,效能上就遠不及斐波那契堆的實現。還有包含這種操作的其它演算法也是如此。
[i] introduction to algorithms, second edtion. thomas h.cormen, charlese.leiserson, ronald l.rivest, clifford stein.
[ii] artificial intelligence, structures and strategies for complex problemsolving. geoge f. luger.
[iv] 演算法藝術與資訊學競賽。劉汝佳,黃亮。清華大學出版社。
[v] 網路演算法與複雜性分析,第二版。謝政。國防科技大學出版社。
[vi] discrete mathematics, fifth edition. john a.dossey, albert d.otto,lawrence e.spence, clarles vanden eynden.
[vii] 最小割模型在資訊學競賽中的應用。胡伯濤(amber)。
[viii] introduction to gragh theorty. douglas b.west.
實用演算法實現 第 10 篇 動態規劃
pku judgeonline,1160,post office.一條直線上分布著v個村莊。要在這些村莊中的某些村莊裡建一共p個郵局,使得村莊到離它最近的郵局的距離之和最小。輸出這個的最小距離之和。10512 3 6 7 9 11 22 44 50 思路 用opt i j 記錄把前i個郵局建到前j個...
實用演算法實現 第 15 篇 對抗搜尋
人工智慧,一種現代方法 對於對抗搜尋的介紹非常好。極大值極小值策略是一種最優策略。當對手不犯錯誤時,最優策略能夠導致至少不比其它任何其它策略差的結果。需要注意的是,最優策略針對的是最優化對手 如果使用極大值極小值策略對付非最優化對手,可能沒有使用其它策略好,但是使用那些策略對付最優化對手必定要比極大...
實用演算法實現 第 10 篇 動態規劃
pku judgeonline,1160,post office.一條直線上分布著v個村莊。要在這些村莊中的某些村莊裡建一共p個郵局,使得村莊到離它最近的郵局的距離之和最小。輸出這個的最小距離之和。10512 3 6 7 9 11 22 44 50 思路 用opt i j 記錄把前i個郵局建到前j個...