ACM搜尋題目總結

2021-06-20 00:48:59 字數 2120 閱讀 2848

格式說明:題目名後面列出個人此題的大致難度(對菜鳥而言)

poj 1069 -the bermuda ********(難)

題意:用給定三角型填充六邊形

解法:此題的思想上精華在於座標化

ps:傳說中比較bt,確實比較bt,主要很容易寫錯,我ac了,但程式沒完全對....

poj 1077 - eight(中等,此題不做人生不完整)

題意:八數碼問題,超經典題

解法:廣搜,a*,雙向廣搜

相關:poj 1084 - square destroyer(中等,經典題)

題意:把每個正方型看做集合中的元素,每個木棒看做是乙個子集,求最小的子集覆蓋

解法:dfs,a*,廣搜肯定爆空間

poj 1167 - the buses(好難啊)

題意:這道題綜合了很多經典的深搜技巧,狂頂

解法:dfs

poj 1190 - 生日蛋糕(基礎,好題)

題意:略

解法:dfs,題偏簡單,但做出來還是有些感覺的

poj 1324 - holedox moving(中等)

題意:略

解法:a*,dfs + 上界剪枝,廣搜

相關:poj 1376 - robot(基礎)

題意:略

解法:bfs,a*....

poj 1475 - pushing boxes(中等,很推薦)

題意:推箱子遊戲

解法:雙重bfs(對箱子bfs 時 對人bfs),a*

poj 1945 - power hungry cows(??)

題意:略

解法:在乙份解題報告中被列為難題,不過好好像寫了個很簡單很暴力的bfs就過了...速度還是有些慢,暫時想不到好的啟發函式

poj 2044 - weather forecast(中等)

題意:略

解法:廣搜,dp,深搜

相關:poj 2286 - the rotation game(較難)

題意:略

解法:ida*(迭代加深+上下界強剪

相關:poj 2308 - dearboy's puzzle(中等,但做的人少?)

題意:判斷連連看是否有解

解法:dfs + bfs

相關:poj 2426 remainder(較難,=)

題意:略,主要是數論部分比較容易讓人抓狂

解法:bfs

相關:poj 2449 remmarguts' date(中等,強烈推薦)

題意:經典問題:k短路

解法:dijkstra+a*,方法很多

相關:poj 2688 - cleaning robot(基礎)

題意:bfs後轉換為tsp問題

解法:bfs+dp,bfs+dfs

相關:poj 2908 - quantum(中等)

題意:其實就是找單源最短路徑

解法:優先佇列廣搜(即dijkstra),建議用位運算優化

poj 3074 - sudoku(中等)

題意:數獨遊戲,資料比2676強很多,但比3076弱

解法:用dfs回溯基本可過,不過每次應選擇可能填的數字最少的格仔搜

更快的方法是先轉換成exact cover問題,然後用經典dancing links解決,

dancing links原始**:

翻譯:poj 3322 - bloxorz i(基礎)

題意:略,這個遊戲本身很好玩(

解法:廣搜,雙向廣搜

相關:poj 3460 - booksort(較難,很推薦)

題意:略

解法:ida*,a*,dfs*

相關:poj 3523 - the morning after halloween(較難)

題意:把所有機械人移到各自的位置,不能相撞或重合

解法:我的狀態設計太暴力了:以所有機械人位置表示狀態。然後用a*過,排倒數第幾,鬱悶。誰知道好的狀態設計方法告訴我^_^

poj 3633 - copying dna(較難)

題意:乙個填充字串的搜尋題

解法:各種搜法皆宜

相關:演算法的實現較挑戰,我是參考了  才搞定的

poj 3635 full tank?(中等)

題意:最短路變形

解法:廣搜

相關:

ACM搜尋題目總結

格式說明 題目名後面列出個人此題的大致難度 對菜鳥而言 poj 1069 the bermuda 難 題意 用給定三角型填充六邊形 解法 此題的思想上精華在於座標化 ps 傳說中比較bt,確實比較bt,主要很容易寫錯,我ac了,但程式沒完全對.poj 1077 eight 中等,此題不做人生不完整 ...

ACM 搜尋(最後總結)

搜尋演算法學的差不多了,今天就整體總結一下吧,附帶兩個習題,以方便日後複習 搜尋的兩種演算法 深度搜尋,廣度搜尋 廣度搜尋的思想 核心演算法 佇列 基本步驟 1 將最初狀態新增到對列 2 將佇列的前端不斷取出 3 佇列後端新增改狀態,可以轉移並且沒有被訪問過的狀態 4 最後知道找到結果或者隊列為空時...

《ACM程式設計》書中題目總結

通過這個專題的練習大體掌握了stl中個容器的使用以及對各種容器的基本操作,掌握的主要操作有排序函式sort函式 反向排序reverse函式 元素的插入push back 檢索函式find函式等等,還有過載小於號的操作。練習了這個專題也了解了acm的幾種輸出格式,如 有的不同組資料輸出用但空格分開 有...