1. 程式人生 > >暴力的優化方法總結

暴力的優化方法總結

暴力就是所有解都試一下,找出最優解

1.貪心

一些顯而易見的不可能的解事先排除

陣列排序啊。事先處理一些資料什麼的

2.列舉的順序(定一個量,列舉另一個)

一開始列舉不同的量的時間複雜度可能不一樣

UVa 10125 Sumsets 列舉4個數,變為列舉2個數

UVa 10391 Compound Words 列舉兩個單詞拼成一個,不如列舉一個單詞拆成兩個

3.二分

二分查詢答案,問題就轉化為該答案是不是合法

4.數形結合,單調佇列優化,斜率優化

LA 4726 Average *

5.維護資訊,而不是重新計算

比如 事先求好字首和,就不用再次算

由之前遞推到下一個;充分利用已知資訊;DP

6.中途相遇法

有點像 DBFS感覺

7.DFS的最優性剪枝,可行性剪枝....,A*什麼的