生活随笔
收集整理的這篇文章主要介紹了
搜索 —— 暴力搜索
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【暴力搜索】
暴力搜索,就是將所有情況都舉出,并判斷其是否符合題目條件。其基本方法是分析題意后,找到一個合適的維度列舉每一個元素,以完成題目。
一般主流的 OJ 中,1000ms 的時間限制下可以運行操作數為 10^7 以內的運算(10^6 以內較保險),所以在采用枚舉方法之前最好看一下數據范圍,確保整個程序的執行操作數不會超過 10^6~10^7 量級。
在編程實現上,暴力枚舉需要兩個條件,一是枚舉的范圍要連續,如果枚舉范圍是離散的,那么一般很難使用 for 循環枚舉出所有狀態,也就不能保證解的完整性(有時數據看似離散,但實際上可通過預處理使其連續);二是枚舉內容需要已知,不能在枚舉到某個地方的時候出現未知。
【例題】
1.簡單暴力
連續自然數和(洛谷-P1147):點擊這里斯諾登的密碼(洛谷-P1603):點擊這里烤雞(洛谷-P2089):點擊這里Sonya and Matrix(CF-1004D):點擊這里File Name(CF-978B):點擊這里Remove Duplicates(CF-978A):點擊這里Letters(CF-978C):點擊這里Diverse Substring(CF-1037A):點擊這里最小函數值(信息學奧賽一本通-T1370):點擊這里權勢二進制(51Nod-1413):點擊這里數三角形(51Nod-2497):點擊這里后面第一個大于(51Nod-2500):點擊這里最多分成多少塊(51Nod-2502):點擊這里最長高地(51Nod-2509):點擊這里重排列(51Nod-2513):點擊這里小b刪列(51Nod-2523):點擊這里Sequence in the Pocket(ZOJ-4104):點擊這里いっしょ / Be Together(AtCoder-2019):點擊這里くんと選挙速報 / AtCoDeer and Election Report (AtCoder-2140):點擊這里ISBN(POJ-2190):點擊這里Derangement(AtCoder-3525):點擊這里Sugar Water(AtCoder-3534):點擊這里Chip Factory(HDU-5536):點擊這里Matryoshka Dolls (Gym-102267C):點擊這里Banana(2017 ACM-ICPC 亞洲區(烏魯木齊賽區)網絡賽 A):點擊這里
2.雙指針的應用
和為給定數(信息學奧賽一本通-T1244):點擊這里Snuke Festival(AtCoder-3620):點擊這里Three Parts of the Array(CF-1006C):點擊這里Physics Practical(CF-253B):點擊這里
3.其他
Text Editor(CF-253C)(思維+暴力):點擊這里Hydra(CF-244D)(思維+暴力):點擊這里Playing with Permutations(CF-252D)(思維+暴力):點擊這里Purification(CF-330C)(構造+暴力):點擊這里Intense Heat(CF-1003C)(前綴和+暴力):點擊這里不降的數字(51Nod-2499)(分解數位+暴力):點擊這里Relatively Prime Graph(CF-1009D)(暴力+GCD):點擊這里Close Encounter(POJ-3039)(數學推導+暴力):點擊這里Almost Arithmetic Progression(CF-978D)(數學推導+暴力):點擊這里Elections(CF-1020C)(貪心+暴力):點擊這里Mishka and Contest(CF-999A)(正反兩遍暴力):點擊這里
總結
以上是生活随笔為你收集整理的搜索 —— 暴力搜索的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。