導航:首頁 > 源碼編譯 > 演算法競賽入門經典代碼

演算法競賽入門經典代碼

發布時間:2024-11-05 11:37:59

『壹』 acm競賽的演算法總共有那些范圍 求大牛概括......

初級:
一.基本演算法:
(1)枚舉. (poj1753,poj2965)
(2)貪心(poj1328,poj2109,poj2586)
(3)遞歸和分治法.
(4)遞推.
(5)構造法.(poj3295)
(6)模擬法.(poj1068,poj2632,poj1573,poj2993,poj2996)
二.圖演算法:
(1)圖的深度優先遍歷和廣度優先遍歷.
(2)最短路徑演算法(dijkstra,bellman-ford,floyd,heap+dijkstra)
(poj1860,poj3259,poj1062,poj2253,poj1125,poj2240)
(3)最小生成樹演算法(prim,kruskal)
(poj1789,poj2485,poj1258,poj3026)
(4)拓撲排序 (poj1094)
(5)二分圖的最大匹配 (匈牙利演算法) (poj3041,poj3020)
(6)最大流的增廣路演算法(KM演算法). (poj1459,poj3436)
三.數據結構.
(1)串 (poj1035,poj3080,poj1936)
(2)排序(快排、歸並排(與逆序數有關)、堆排) (poj2388,poj2299)
(3)簡單並查集的應用.
(4)哈希表和二分查找等高效查找法(數的Hash,串的Hash)
(poj3349,poj3274,POJ2151,poj1840,poj2002,poj2503)
(5)哈夫曼樹(poj3253)
(6)堆
(7)trie樹(靜態建樹、動態建樹) (poj2513)
四.簡單搜索
(1)深度優先搜索 (poj2488,poj3083,poj3009,poj1321,poj2251)
(2)廣度優先搜索(poj3278,poj1426,poj3126,poj3087.poj3414)
(3)簡單搜索技巧和剪枝(poj2531,poj1416,poj2676,1129)
五.動態規劃
(1)背包問題. (poj1837,poj1276)
(2)型如下表的簡單DP(可參考lrj的書 page149):
1.E[j]=opt{D[i]+w(i,j)} (poj3267,poj1836,poj1260,poj2533)
2.E[i,j]=opt{D[i-1,j]+xi,D[i,j-1]+yj,D[i-1][j-1]+zij} (最長公共子序列)
(poj3176,poj1080,poj1159)
3.C[i,j]=w[i,j]+opt{C[i,k-1]+C[k,j]}.(最優二分檢索樹問題)
六.數學
(1)組合數學:
1.加法原理和乘法原理.
2.排列組合.
3.遞推關系.
(POJ3252,poj1850,poj1019,poj1942)
(2)數論.
1.素數與整除問題
2.進制位.
3.同餘模運算.
(poj2635, poj3292,poj1845,poj2115)
(3)計算方法.
1.二分法求解單調函數相關知識.(poj3273,poj3258,poj1905,poj3122)
七.計算幾何學.
(1)幾何公式.
(2)叉積和點積的運用(如線段相交的判定,點到線段的距離等). (poj2031,poj1039)
(3)多邊型的簡單演算法(求面積)和相關判定(點在多邊型內,多邊型是否相交)
(poj1408,poj1584)
(4)凸包. (poj2187,poj1113)

『貳』 我寫的蛇形填數程序,哪錯了呢求解

實在不想看
代碼如下:
#include<stdio.h>
#define MAXN 10
int main()
{
int a[MAXN][MAXN]={0};
int n,x,y,tot=0;
scanf("%d",&n); //輸入n , 表示n行n列;
tot=a[x=0][y=n-1]=1;
while(tot<n*n) //判斷是否填完
{
/*先判斷有沒有越界,再判斷下一個位置是否已填數 再把數字填下 , 步驟為 下 左 上 右 不斷循環 */
while(x+1<n&&!a[x+1][y]) a[++x][y]=++tot;// 下
while(y-1>=0&&!a[x][y-1]) a[x][--y]=++tot;//左
while(x-1>=0&&!a[x-1][y]) a[--x][y]=++tot;//上
while(y+1<n&&!a[x][y+1]) a[x][++y]=++tot;//右
}
for(x=0;x<n;x++)
{
for(y=0;y<n;y++)
printf("%d\t",a[x][y]);
printf("\n");
}
return 0;
}

『叄』 請推薦一本C語言教材,要求內容詳細,實例豐富,並注重程序設計演算法分析,語言通俗易懂。

  1. 《演算法競賽入門經典》

    書 名:演算法競賽入門經典

    叢 書 名:演算法藝術與信息學競賽

    作 者:劉汝佳

    出 版 社:清華大學出版社

    出版時間:2009-11-1

    I S B N:9787302206088

閱讀全文

與演算法競賽入門經典代碼相關的資料

熱點內容
錄音筆如何修改文件夾 瀏覽:641
八爪魚數據採集加密文字替換 瀏覽:84
android系統運行動態編譯的程序 瀏覽:417
計算編程中常用的if語句是 瀏覽:736
linux文件夾許可權亂了 瀏覽:910
程序員職業病預防保健操 瀏覽:680
c程序修改後需不需要重新編譯 瀏覽:725
怎樣把圖片分別放置在文件夾中 瀏覽:873
推流伺服器地址是什麼 瀏覽:632
java允許多重繼承 瀏覽:513
解壓小玩具好玩又可愛 瀏覽:408
騰訊雲大帶寬伺服器 瀏覽:821
加密鎖的售後 瀏覽:268
linux登不上去 瀏覽:729
聯想伺服器休眠後如何喚醒 瀏覽:111
四川話女孩學習編程 瀏覽:324
編譯原理文法區分 瀏覽:1001
教師可以做程序員嘛 瀏覽:637
終結戰場安卓國際服怎麼下載 瀏覽:155
現在的高端伺服器屬於什麼 瀏覽:810