1. 程式人生 > >國慶清北 搜索

國慶清北 搜索

部分 long long 指數 枚舉 質因子分解 十字鏈表 退出 常數 順序

最多因子數:
1.搜索質因子分解的形式(?),2的指數最多30,3不能超過30(可行性)
最優性(保底一個):x0=p1^e1

最優性剪枝,部分搜索,這部分最優解已知,對接下來進行評估

叠代加深搜索一般是可行性,
埃及分數:單位分數的個數,無窮個

A*啟發式搜索:堆,hash判重,估價函數設計
騎士精神:當前棋盤和目標棋盤差別,只有黑棋子,白棋子,空位,相對科學
枚舉k->可行性剪枝,搜到可行狀態就可以退出(強)

十五數碼問題:估價函數,沒有等價的棋子
->每個數字離目標位置的距離

折半搜索 n=30,40 2^n會T, 2^(n/2)可以過
搜前四位數,將k的前四位與與s個數應該有多少相同,減去,
O(1e4*50) O(1)查詢 hash

最大團:
最優化搜索,
1.搜索順序,度數搜,從小到大,
long long 壓位 2^64
遞推
k+f(n-x)<=b 最優性剪枝
1->x-1 n->x

喬治的木棍
1.除不盡,湊不出來這個長度,返回
2.先搜大的再搜小的,不是小木棍更靈活,
答案的最小值是最長的木棍的長度,是下界,沒關系
求總和,從大到小枚舉約數,
一個L可行,nL都可行-(逆否命題)->L不是可行解,L的約數都不是可行解

蟲食算:豎著搜,從低位向高位,每一豎行搜三個數,前面

minimum
二分答案,最小頂點覆蓋,

度數為1的點不會保留

精確覆蓋
搜行,按照1多到少,搜完一些行後,枚舉後面
搜列,有那些行是1,雙向十字鏈表,快速插入刪除
優化常數,

矩形分割:最小化平方和,顯然記憶化搜索,(x1,y1,x2,y2) 從哪切,爆搜記憶化優化

國慶清北 搜索