Tăng gấp bội
Bổn giao diện đem giản yếu giới thiệu tăng gấp bội pháp.
Định nghĩa
Tăng gấp bội pháp ( tiếng Anh: binary lifting ), xem tên đoán nghĩa chính là phiên bội. Nó có thể sử tuyến tính xử lý chuyển hóa vì đối số cấp xử lý, rất lớn ưu hoá thời gian phức tạp độ.
Phương pháp này ở rất nhiều thuật toán trung đều có ứng dụng, trong đó nhất thường dùng chính là RMQ vấn đề cùng cầuLCA ( gần nhất công cộng tổ tiên ).
Ứng dụng
RMQ vấn đề
Tham kiến:RMQ chuyên đề
RMQ là Range Maximum/Minimum Query viết tắt, tỏ vẻ khu gian lớn nhất ( nhỏ nhất ) giá trị. Sử dụng tăng gấp bội tư tưởng giải quyết RMQ vấn đề phương pháp làST biểu.
Trên cây tăng gấp bội cầu LCA
Tham kiến:Gần nhất công cộng tổ tiên
Ví dụ mẫu
Đề 1
Ví dụ mẫu
Như thế nào dùng hết khả năng thiếu cân lượng ước lượng ra
Giải đề ý nghĩ
Đáp án là sử dụng 1 2 4 8 16 này năm cái cân lượng, có thể ước lượng ra
Vì cái gì nói là cực nhỏ đâu? Bởi vì nếu chúng ta muốn lượng ra
Đề 2
Ví dụ mẫu
Cấp ra một cái chiều dài vì
Số liệu phạm vi:
Giải đề ý nghĩ
Nơi này hiển nhiên không thể bạo lực bắt chước nhảy
Cho nên liền yêu cầu tiến hành một ít dự xử lý, trước tiên chỉnh hợp nhất chút tin tức, để với ở tuần tra thời điểm càng mau đến ra kết quả. Nếu ký lục xuống dưới mỗi một cái khả năng nhảy lên số lần kết quả nói, bất luận là thời gian vẫn là không gian đều khó có thể thừa nhận.
Như vậy hẳn là như thế nào dự xử lý đâu? Nhìn xem đạo thứ nhất ví dụ mẫu. Có ý nghĩ sao?
Trở lại chủ đề. Chúng ta muốn dự xử lý một ít tin tức, sau đó dùng dự xử lý tin tức tận lực mau chỉnh hợp ra đáp án. Đồng thời dự xử lý tin tức cũng không thể quá nhiều. Cho nên có thể dự xử lý ra lấy 2 chỉnh thứ mịch vì đơn vị tin tức, nói như vậy ở dự xử lý thời điểm chỉ cần xử lý chút ít tin tức, ở chỉnh hợp thời điểm cũng không cần mất công.
Tại đây đề thượng, chính là chúng ta dự xử lý ra từ mỗi cái giờ bắt đầu nhảy 1, 2, 4, 8 từ từ bước lúc sau kết quả ( vị trí điểm cùng điểm quyền cùng ), sau đó nếu muốn nhảy 13 bước, chỉ cần nhảy 1+4+8 bước thì tốt rồi. Nói cách khác trước tiên ở lúc đầu điểm nhảy 1 bước, sau đó lại ở nhảy lúc sau chung điểm nhảy 4 bước, lại tiếp theo nhảy 8 bước, đồng thời thống kê một chút trước xử lý tốt điểm quyền cùng, liền có thể biết nhảy 13 bước điểm quyền cùng.
Đối với mỗi một cái giờ bắt đầugo[i][x]
Tỏ vẻ đệsum[i][x]
Tỏ vẻ đệsum[i][x] = sum[i-1][x]+sum[i-1][go[i-1][x]]
,Thảgo[i][x] = go[i-1][go[i-1][x]]
.
Đương nhiên còn có một ít thực hiện chi tiết yêu cầu chú ý. Vì bảo đảm thống kê thời điểm không nặng không lậu, chúng ta giống nhau dự xử lý ra “Tả bế hữu khai” điểm quyền cùng. Đó là, đối với nhảy 1 bước tình huống, chúng ta chỉ ký lục nên điểm điểm quyền cùng; đối với nhảy 2 bước tình huống, chúng ta chỉ ký lục nên điểm và tiếp theo cái điểm điểm quyền cùng. Tương đương với luôn là không đem chung điểm điểm quyền cùng đưa vào sum. Như vậy ở dự xử lý thời điểm, chỉ cần đem hai bộ phận điểm quyền cùng trực tiếp tương thêm là được, không cần lo lắng đoạn thứ nhất chung điểm cùng đệ nhị đoạn khởi điểm sẽ bị lặp lại tính toán.
Này đề
Tham khảo số hiệu
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
|
Bổn giao diện gần nhất đổi mới:2024/10/9 22:38:42,Đổi mới lịch sử
Phát hiện sai lầm? Tưởng cùng nhau hoàn thiện?Ở GitHub thượng biên tập này trang!
Bổn giao diện cống hiến giả:NachtgeistW,H-J-Granger,Ir1d,orzAtalod,Backl1ght,CCXXXI,countercurrent-time,dkz051,Enter-tainer,Fomalhauthmj,Great-designer,hsfzLZH1,iamtwz,leoleoasd,Lewy Zeng,Marcythm,MingqiHuang,opsiff,ouuan,PeterlitsZo,ShadowsEpic,siger-young,sshwy,SukkaW,Tiphereth-A,Xeonacid
Bổn giao diện toàn bộ nội dung ởCC BY-SA 4.0CùngSATAHiệp nghị chi điều khoản hạ cung cấp, phụ gia điều khoản cũng khả năng ứng dụng