2015 2 day11 一道點分治的問題

2021-06-28 22:28:23 字數 464 閱讀 2714

注:如果距離相同則去編號最小的

比較難想的點分治

預處理每個點最近超市dis[i]

與一般的點分治不同,由於要合併子樹,函式大概要這樣寫(多半是蒟蒻見識少)

cal(int u)

for each v (v is a son of u)

cal(v)

merge each v

考慮分治的根為rt時的情況

對於每乙個兒子v所在子樹討論

對於x不屬於v子樹

x去v子樹某乙個點u僅當dis[x] < d[x] + d[u]

移項dis[x] - d[x] < d[u]

對v子樹的d[u]排序,那麼每個點都可以二分了,就這樣計算貢獻

遭了貌似複雜度不對= =忘了qaq

一道分治題

有n個數分別為a1,a2,an,for i 1 i n i for j i j n j ans j i 1 min i j max i j 求ans,n 500000 t2考慮分治,首先想到的做法是每次找最大值,以最大值為中心分成兩段,時間複雜度 n lgn 可是乙個有序的數列會把它卡成n 所以一定...

每日一道 LeetCode 11 外觀數列

每天 3 分鐘,走上演算法的逆襲之路。每日一道 leetcode 前文合集 github gitee 給定乙個正整數 n 1 n 30 輸出外觀數列的第 n 項。注意 整數序列中的每一項將表示為乙個字串。外觀數列 是乙個整數序列,從數字 1 開始,序列中的每一項都是對前一項的描述。前五項如下 1.1...

對一道pwnhub的一點點記錄

一.通過ssh弱口令,建立socket5 進內網。1.修改proxychains配置檔案vi etc proxychains.conf如下 2.建立ssh隧道 ssh qtfnn d 7070 p 22 user host,能夠curl本地,說明成功 進內網。二.開放9000埠,存在fastcgi檔...