日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

P3714 [BJOI2017]树的难题(点分治/线段树/单调队列)

發布時間:2023/12/4 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 P3714 [BJOI2017]树的难题(点分治/线段树/单调队列) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

P3714 [BJOI2017]樹的難題

求解樹上長度在L到R的樹鏈中顏色段權值和最大的鏈。

首先求解樹上鏈的問題,而且限制了鏈的長度,那么我們需要點分治處理,然后考慮每次分治,我們可以把鏈分成兩類,先處理同色連通塊,再處理異色連通塊,然后采用每次查詢一個子樹的答案然后加入這個子樹的方法。然后對于一個給定鏈,對應了一個區間的權值,所以我們直接使用線段樹即可,然后合并的時候直接線段樹合并即可。

但是這個問題還有一個特殊性質,就是我們每次查詢的區間長度是一定的,所以如果詢問有序,就可以使用單調隊列處理了,那么我們可以通過bfs得到一個有序的序列,然后到單調隊列上跑即可,但是考慮這個復雜度等于單調隊列長度,而單調隊列的長度等于之前出現的最深的點的深度,如果直接跑可能是O(n)的,但是如果我們將深度從小到大排序,那么復雜度一定是小于當前子樹大小的,那么總復雜度就是O(nlogn)的,然后合并兩個序列我們可以使用歸并,復雜度也是正確的。

另外我們考慮異色連通塊,需要按照最大深度從小到大處理,這樣可以保證每次復雜度也是正確的,但是這樣就要要求將整個顏色一起處理。

每一次復雜度是O(dlogd+size)O(dlogd+size)O(dlogd+size),那么總復雜度就是O(nlogn)O(nlogn)O(nlogn)

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的P3714 [BJOI2017]树的难题(点分治/线段树/单调队列)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。