当前位置: 首页 > news >正文

中国建设银行网站北京网点嘉兴网站制作维护

中国建设银行网站北京网点,嘉兴网站制作维护,房屋在线设计平台,企聚网站建设P3899 [湖南集训]谈笑风生 给定一颗以111号节点为根的树#xff0c;如果a≠ba \neq ba​b#xff0c;且aaa是bbb的祖先#xff0c;则aaa比bbb更厉害#xff0c;如果a≠ba \neq ba​b#xff0c;且dis(a,b)≤xdis(a, b) \leq xdis(a,b)≤x#xff0c;xxx为给定的一个…P3899 [湖南集训]谈笑风生 给定一颗以111号节点为根的树如果a≠ba \neq ba​b且aaa是bbb的祖先则aaa比bbb更厉害如果a≠ba \neq ba​b且dis(a,b)≤xdis(a, b) \leq xdis(a,b)≤xxxx为给定的一个数则a,ba, ba,b紧邻。 现有mmm次询问每次询问给定p,kp, kp,k为存在多少个三元组(p,b,c)(p, b, c)(p,b,c)满足一下条件 p,bp, bp,b都比ccc厉害。p,bp, bp,b彼此紧邻对于给定的常数kkk。 因为p,bp, bp,b都比ccc更厉害则p,bp, bp,b都是ccc的祖先分情况讨论 ppp是bbb的祖先 只要满足bbb在ppp的子树中且ccc在bbb的子树中即可。 bbb是ppp的祖先 bbb一定在1−p1- p1−p的路径上且ccc在ppp的子树中。 线段树合并搞一搞在线离线都可复杂度O(nlog⁡n)O(n \log n)O(nlogn)。 #include bits/stdc.husing namespace std;const int N 3e5 10;int head[N], to[N 1], nex[N 1], cnt 1;int root[N], ls[N 5], rs[N 5], num;int dep[N], sz[N], n, m;long long sum[N 5];long long ans[N];vectorpairint, int query[N];void add(int x, int y) {to[cnt] y;nex[cnt] head[x];head[x] cnt; }int merge(int x, int y, int l, int r) {if (!x || !y) {return x | y;}if (l r) {sum[x] sum[y];return x;}int mid l r 1;ls[x] merge(ls[x], ls[y], l, mid);rs[x] merge(rs[x], rs[y], mid 1, r);sum[x] sum[ls[x]] sum[rs[x]];return x; }void update(int rt, int l, int r, int x, int v) {if (!rt) {rt num;}sum[rt] v;if (l r) {return ;}int mid l r 1;if (x mid) {update(ls[rt], l, mid, x, v);}else {update(rs[rt], mid 1, r, x, v);} }long long ask(int rt, int l, int r, int L, int R) {if (l L r R) {return sum[rt];}long long ans 0;int mid l r 1;if (L mid) {ans ask(ls[rt], l, mid, L, R);}if (R mid) {ans ask(rs[rt], mid 1, r, L, R);}return ans; }void dfs(int rt, int fa) {dep[rt] dep[fa] 1, sz[rt] 1;for (int i head[rt]; i; i nex[i]) {if (to[i] fa) {continue;}dfs(to[i], rt);sz[rt] sz[to[i]];root[rt] merge(root[rt], root[to[i]], 1, n);}for (auto it : query[rt]) {int id it.first, k it.second;ans[id] ask(root[rt], 1, n, dep[rt], min(dep[rt] k, n));ans[id] 1ll * (dep[rt] - max(1, dep[rt] - k)) * (sz[rt] - 1);}update(root[rt], 1, n, dep[rt], sz[rt] - 1); }int main() {// freopen(in.txt, r, stdin);// freopen(out.txt, w, stdout);scanf(%d %d, n, m);for (int i 1, x, y; i n; i) {scanf(%d %d, x, y);add(x, y);add(y, x);}for (int i 1, x, k; i m; i) {scanf(%d %d, x, k);query[x].push_back({i, k});}dfs(1, 0);for (int i 1; i m; i) {printf(%lld\n, ans[i]);}return 0; }
http://www.pierceye.com/news/962204/

相关文章:

  • 实用网站设计步骤百度竞价广告代理
  • 怎么在vk网站上做推广网站建设柚子网络科技官网
  • 威海网站优化公司wordpress post title
  • 网站建设验收期安阳后营吧
  • 询盘网站培训机构前端开发
  • 企业如何做网站建站小程序定制开发深圳
  • 创建网站怎么赚钱的视频博客主题wordpress
  • 北京大兴区网站建设如何打造平台
  • 建设公司网站需要多少天棋盘游戏类网站开发
  • 织梦网站logo修改探测器 东莞网站建设
  • 图片网站收录淮北网站建设求职简历
  • 北京建设局投诉网站首页晋江外贸网站建设
  • 如何更改网站模板网站建设这一行业怎样
  • 海口网站排名东网站建设
  • 李连杰做的功夫网站泉州四方网站开发
  • 台州专业网站设计系统简单的购物网站制作
  • 中国建筑信息资讯网网站的优化用什么软件
  • wordpress本地网站打开慢电商网课
  • 仿照别人的网站做违法吗江苏集团网站建设
  • 一家专门做建材的网站找人做个网站大概多少钱
  • 信息展示网站系统网站策划书怎么写
  • 吉木萨尔县建设局网站岳阳网站推广
  • 九宫格网站模板本机网站环境搭建
  • 自学网站建设 难吗企业网站制作公司合肥
  • 网站建设的网页怎么做餐饮装修公司推荐
  • 网站页面是自己做还是使用模板惠州seo外包费用
  • 深圳专业网站建设技术郑州网络推广平台有哪些
  • 网站建设的费用预算怎么查自己名下有没有注册公司
  • 深圳医院网站建设网站产品页模板
  • 文化馆网站建设做直播的网站有哪些