注:如果距離相同則去編號最小的
比較難想的點分治
預處理每個點最近超市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檔...