暴力搜索
DFS 與 BFS
Binary Search
剪枝
用DFS做完全搜索
用最小的範圍涵蓋你想找的資訊
給一個數 N
(2 <= N <= 100,000)
請判斷N是不是質數
(經典技巧)
賭人品用費馬小定理
聽說錯的機率很小
列舉所有i (i 的 range 是) 2<= i < N
如果(Search)找到 N%i = = 0
那N不是質數
承上題
改成 T 筆詢問 (1<=T<=10000)
或是
條件改成 N >= 1,000,000,000
Time
1,000,000,000
=TLE
賭人品用費馬小定理
列舉量到根號N就可以了
WHY?
跪求證明
選一個最容易處理的對象
給你一張N * N的圖 (N<=1000)
每一格會是 1 或 0
問有多少個由 1 組成的實心正方形 (HOJ p116)
ex
1 1 1 1 1 1
101 1 1 1
1 1 1 1 1 1
8個 14個(9+4+1)
找每種Size的正方形
1*1 的正方形 -> N*N個位置 * (1*1)次比對
2*2正方形 -> (N-1)*(N-1)個位置 * (2*2)次比對
3*3的正方形
...
500*500的正方形 => 500*500*500*500
...
感覺就會爛掉(接近N^4)
等教了DP再說吧XD
很多時候無腦暴搜註定會爛掉。
參考左圖
我們可以把2往下移
或是把3往右移
給一個盤面,判斷能不能在20步移動內
將盤面移動成
每一步可能有2 / 3 / 4種可能性
20步而已,不多
大概 3 ^ 20
TLE
for(a = 1~9)