




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Hash與位運算山東師大附中陳鍵飛位運算對二進制數的一些操作優化時間常數優化代碼長度核心思想將一個二進制串(集合)用一個數表示集合1,2,3,5 (10111)2位運算符and(&)or(|)xor()not()and的應用清零 eg. A and (00011)2取位 eg. A and (00100)2=0?求交集 AB=A and BMod : A Mod 2n = A and (2n-1)滿足交換律、結合律or的應用清零 eg. A or (00011)2求并集 AB=A or B滿足交換律、結合律xor的應用把某些位反轉 eg. A xor (01110)2求補集CuA=A xor
2、U哈希函數滿足交換律、結合律,xor是自己的逆運算A xor B=B xor AA xor (B xor C)=A xor B xor CA xor B xor A=Bshl的應用乘2k :A shl k青蛙過河:readln(m,n);writeln(m+1)shl n);shr的應用Div 2k :A shr kmid:=(lb+rb)shr 1;if (leftmid) then search(t shl 1+1,mid+1,rb);小例題縮短代碼:集合a是不是集合b的子集?function a( a,b : array1.30of boolean):boolean;var i:long
3、int;beginfor i:=1 to 30 do if ai and not bi then exit(false);exit(true);end;a and b = a例題判斷一個01串中有沒有兩個1相鄰?function b( a:array1.30of boolean):boolean;var i:longint;beginfor i:=1 to 29 do if ai and ai+1 then exit(true);exit(false);end;如果是判斷是不是有兩個0相鄰呢?a and (a shr 1) 0 a or (a shr 1) 0 do begininc( pop
4、count , x and 1) ;x := x shr 1 ;end ;end ;O(log x)例題function popcount2( x : longint ) : longint ;begin x := ( x and $55555555 ) + ( (x1) and $55555555 ) ; x := ( x and $33333333 ) + ( (x2) and $33333333 ) ; x := ( x and $0F0F0F0F ) + ( (x4) and $0F0F0F0F ) ; x := ( x and $00FF00FF ) + ( (x8) and $00
5、FF00FF ) ; x := ( x and $0000FFFF ) + ( (x16) and $0000FFFF ) ; exit( x ) ;end ;例題狀態壓縮的動態規劃A包含于B:A and B = AHash狀態對一個事物的一個完整的描述比如說集訓班有三個人,其中李其樂是神牛,李其剛是神犇,羊駝是李振那么(李其樂=神牛,李其剛=神犇,羊駝=李振)就是一個狀態Hash再比如說,昨天所有同學的考試成績,也是一個狀態如果有N個同學,這個狀態的大小就是O(N)HashHash函數與Hash表Hash函數:一個狀態到一個正整數的映射F(Status)Hash表:將Hash函數按值的大小索
6、引HashHash的應用是多種多樣的應用方法上:僅Hash函數,僅Hash表,兩者都用應用領域上:廣搜的判重,字符串的索引僅用Hash函數在下載時經常用到的MD5:將一個文件映射到一個Hash函數,通過比較MD5校驗碼判斷文件的完整性。僅用Hash函數一個信息學競賽中的應用實例:Rabin-Karp算法Hash表利用Hash函數值的特殊性,實現高效的插入、刪除、查找。典型的空間換時間Hash表若Hash表大小是L,共S個狀態插入復雜度O(1),刪除和查找O(S/L)對比二叉查找樹插入,刪除和查找O(log n)Hash表的應用POI2000,Promotion值域縮小版Hash函數和Hash表的綜合應用廣搜的判重:先將狀態映射成Hash函數,再用Hash表插入,查找。廣搜+Hash已經成為一種套路,兩者是密不可分的Hash函數和Hash表的綜合應用字符串的索引生物基元問題:給定字符串S和基元串A1An,求最大的k,使S1.k由基元串組成Hash函數和Hash表的綜合應用Fi=Or(Fj) (當且僅當j=i且Sj+1.i是一個基元串)Hash優化決策時間:判斷Sj+1.i是不是基元串O(1)一個應用給定n
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 項目管理資格認證特點分析試題及答案
- 財務決策實現方法試題及答案2025
- 銀行管理理論與實務應用的結合研究試題及答案
- 證券從業資格證考試獨到理解與掌握試題及答案
- 2025年證券從業資格證考生注意事項試題及答案
- 青海省玉樹藏族自治州本年度(2025)小學一年級數學統編版階段練習(下學期)試卷及答案
- 八年級歷史下冊 第一單元 中華人民共和國的成立和鞏固 第3課 土地改革教學設計設計(pdf) 新人教版
- 項目管理技能掌握的試題及答案
- 2025年注冊會計師考試復習與實踐結合試題及答案
- 微生物檢驗師同學必看試題及答案指導
- 福建省龍巖市龍巖市一級校2024-2025學年高一下學期4月期中聯考數學試題(含答案)
- 北京市豐臺區2025屆高三下學期3月一模試題 英語 含解析
- 2024-2025學年七年級數學湘教版(2024)下學期期中考試模擬卷B卷(含解析)
- 《財務風險的識別與評估管理國內外文獻綜述》
- 井蓋管理應急預案
- 鵪鶉蛋脫殼機的設計
- 行為安全觀察behaviorbasedsafety研究復習過程
- 動火作業風險告知牌
- 鍋爐專業術語解釋及英文翻譯對照
- 《小石潭記》作業設計
- 旅行社等級評定申報材料完整版
評論
0/150
提交評論