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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BZOJ-2588-Count-on-a-tree-SPOJ10628-LCA+主席树

發(fā)布時(shí)間:2025/3/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BZOJ-2588-Count-on-a-tree-SPOJ10628-LCA+主席树 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

描述

給定一棵N個(gè)節(jié)點(diǎn)的樹,每個(gè)點(diǎn)有一個(gè)權(quán)值,對(duì)于M個(gè)詢問(u,v,k),你需要回答u xor lastans和v這兩個(gè)節(jié)點(diǎn)間第K小的點(diǎn)權(quán)。其中l(wèi)astans是上一個(gè)詢問的答案,初始為0,即第一個(gè)詢問的u是明文。


分析

  • 想用樹鏈剖分但是發(fā)現(xiàn)不知道怎么套主席樹.
  • 正解是LCA, 只要維護(hù)根節(jié)點(diǎn)到每個(gè)結(jié)點(diǎn)u的權(quán)值線段樹. 因?yàn)橹飨瘶淝蟮趉大支持減法, 所以最終答案就是線段樹 u+v-lca(u,v)-fa[lca(u,v)] 中的第k大.
  • 調(diào)了半天發(fā)現(xiàn)在用lower_bound查找離散后的權(quán)值時(shí), unique后的T數(shù)組有序不假但重復(fù)元素被挪到了數(shù)組尾, 所以不能再用原來的T+n+1作為二分查找的上界了.

#include #include #include using namespace std;const int maxn = 100000 + 10; const int maxm = 3000000; const int DEP = 20;vectorG[maxn];int n, m, tot, node_cnt; int A[maxn], T[maxn]; int dep[maxn], fa[maxn][DEP]; int root[maxm], lc[maxm], rc[maxm], s[maxm];#define M (L+R>>1)void modify(int& x, int y, int L, int R, int d) {x = ++node_cnt;lc[x] = lc[y]; rc[x] = rc[y]; s[x] = s[y] + 1;if(L == R) return;if(d <= M) modify(lc[x], lc[y], L, M, d);else modify(rc[x], rc[y], M+1, R, d); }int query(int u, int v, int x, int y, int L, int R, int k) {if(L == R) return L;int ls = s[lc[u]] + s[lc[v]] - s[lc[x]] - s[lc[y]];if(k <= ls) return query(lc[u], lc[v], lc[x], lc[y], L, M, k);return query(rc[u], rc[v], rc[x], rc[y], M+1, R, k-ls); }void dfs(int u, int x) {dep[u] = dep[fa[u][0] = x] + 1;for(int i = 1; i < DEP; i++)if((1<<= dep[u]) fa[u][i] = fa[fa[u][i-1]][i-1]; else break; modify(root[u], root[x], 1, tot, A[u]); for(int i = 0; i < G[u].size(); i++) { int v = G[u][i]; if(v != x) dfs(v, u); } } int lca(int x, int y) { if(dep[x] < dep[y]) swap(x, y); int delta = dep[x]-dep[y]; for(int i = 0; i < DEP; i++) if(delta&(1<= 0; i--) if(fa[x][i] != fa[y][i]) x = fa[x][i], y = fa[y][i]; return fa[x][0]; } int main() { int n, m; scanf("%d %d", &n, &m); for(int i = 1; i <= n; i++) { scanf("%d", &A[i]); T[i] = A[i]; } sort(T+1, T+n+1); tot = unique(T+1, T+n+1) - T-1; for(int i = 1; i <= n; i++) A[i] = lower_bound(T+1, T+tot+1, A[i]) - T; for(int i = 1; i < n; i++) { int u, v; scanf("%d %d", &u, &v); G[u].push_back(v); G[v].push_back(u); } dfs(1, 0); int ans = 0; for(int i = 1; i <= m; i++) { int u, v, k; scanf("%d %d %d", &u, &v, &k); u ^= ans; int x = lca(u, v), y = fa[x][0]; ans = T[query(root[u], root[v], root[x], root[y], 1, tot, k)]; if(i < m) printf("%d\n", ans); else printf("%d", ans); } return 0; }


與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的BZOJ-2588-Count-on-a-tree-SPOJ10628-LCA+主席树的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久草最新视频 | 光棍天堂av | 与亲女洗澡时伦了毛片 | 午夜精品在线视频 | 成人在线播放av | 人人澡人人澡 | 亚洲资源av| 日韩欧美国产高清 | 1769国产精品 | 欧美久久精品一级黑人c片 1000部多毛熟女毛茸茸 | 亚洲精品成av人片天堂无码 | 亚洲av成人无码一区二区三区在线观看 | 久久老熟女一区二区三区 | 亚洲天堂福利视频 | 亚洲av成人无码一区二区三区在线观看 | 国产三级做爰高清在线 | 国产精品一区二区电影 | 欧美精品hd | 深夜免费视频 | 亚洲色综合 | 好吊色这里只有精品 | 91国内精品野花午夜精品 | 熟妇人妻中文字幕 | 国产精品乱码一区二区 | 亚洲逼逼 | jizz黄色片| 中文在线观看高清视频 | 姑娘第5集高清在线观看 | 美女色av| 在线免费看91 | av日日夜夜| 韩国电影大尺度在线观看 | 美女娇喘 | 亚洲精品成人区在线观看 | 亚洲天堂2018av | 国产成人亚洲综合a∨婷婷 台湾a级片 | 91大神福利视频 | 亚洲国产日韩一区二区 | 久久久噜噜噜久久中文字幕色伊伊 | h在线观看视频 | 韩国三级中文字幕hd浴缸戏 | 日日操夜夜操狠狠操 | 狼人精品一区二区三区在线 | 国产精品一二三四五 | 91精品国产闺蜜国产在线闺蜜 | 欧美成人福利 | 亚洲少妇色 | 99久久免费看精品国产一区 | 九九精品免费视频 | 黄色网址哪里有 | 国产伦精品一区二区三区四区视频 | 免费亚洲精品 | 亚洲区综合 | 精品视频大全 | 美女脱裤子让男人捅 | 国产精品xxx在线 | 91免费版在线看 | av激情久久 | 强行糟蹋人妻hd中文字幕 | 亚洲国产一区二区三区在线观看 | 秋霞福利影院 | 男生吃小头头的视频 | 在线免费观看日本 | 中文无码一区二区三区在线观看 | 国产最爽的乱淫视频国语对白 | 香蕉久久夜色精品 | 色88久久久久高潮综合影院 | 国产精品无码午夜福利 | 污片在线免费看 | 国产第四页 | 成年人黄色 | 男人操女人的视频 | 国产偷人 | 国产精品日日摸天天碰 | 午夜亚洲| 好屌妞视频这里有精品 | 女裸全身无奶罩内裤内衣内裤 | 日韩性插| 欧美成人激情在线 | 亚洲一区二区三区视频 | 先锋影音av资源在线观看 | 99精品一区 | 超碰97干 | 一区二区三区欧美视频 | 色婷婷亚洲 | 欧美黄色a | 中文字幕理伦片免费看 | 亚洲av毛片一区二二区三三区 | 精品国产综合区久久久久久 | 中文字幕+乱码+中文乱码www | 亚洲视频在线观看免费视频 | 欧美日韩久久 | 91美女视频| 国产成人免费在线视频 | 欧美顶级黄色大片免费 | 国产最新精品视频 | 国产精品久久伊人 | 日韩美女福利视频 | 好色艳妇小说 |