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

高水平的锦州网站建设中山网站建设半江红

高水平的锦州网站建设,中山网站建设半江红,如何攻破wordpress,公司网站建设开题报告[ABC239E] Subtree K-th Max 题面翻译 给定一棵 n n n 个节点的树,每个节点的权值为 x i x_i xi​。 现有 Q Q Q 个询问,每个询问给定 v , k v,k v,k,求节点 v v v 的子树第 k k k 大的数。 0 ≤ x i ≤ 1 0 9 , 2 ≤ n ≤ 1 0 5 , …

[ABC239E] Subtree K-th Max

题面翻译

给定一棵 n n n 个节点的树,每个节点的权值为 x i x_i xi

现有 Q Q Q 个询问,每个询问给定 v , k v,k v,k,求节点 v v v 的子树第 k k k 大的数。

0 ≤ x i ≤ 1 0 9 , 2 ≤ n ≤ 1 0 5 , 1 ≤ Q ≤ 1 0 5 , 1 ≤ k ≤ 20 0\le x_i\le10^9,2\le n\le10^5,1\le Q\le10^5,1\le k\le20 0xi109,2n105,1Q105,1k20

翻译提供:xiaohaoaibiancheng66

题目描述

$ N $ 頂点の根付き木があります。頂点には $ 1 $ から $ N $ の番号がついており、根は頂点 $ 1 $ です。
$ i $ 番目の辺は頂点 $ A_i $ と $ B_i $ を結んでいます。
頂点 $ i $ には整数 $ X_i $ が書かれています。

$ Q $ 個のクエリが与えられます。$ i $ 番目のクエリでは整数の組 $ (V_i,K_i) $ が与えられるので、次の問題に答えてください。

  • 問題:頂点 $ V_i $ の部分木に含まれる頂点に書かれた整数のうち、大きい方から $ K_i $ 番目の値を求めよ

输入格式

入力は以下の形式で標準入力から与えられる。

$ N $ $ Q $ $ X_1 $ $ \ldots $ $ X_N $ $ A_1 $ $ B_1 $ $ \vdots $ $ A_{N-1} $ $ B_{N-1} $ $ V_1 $ $ K_1 $ $ \vdots $ $ V_Q $ $ K_Q $

输出格式

$ Q $ 行出力せよ。$ i $ 行目には $ i $ 番目のクエリに対する答えを出力せよ。

样例 #1

样例输入 #1

5 2
1 2 3 4 5
1 4
2 1
2 5
3 2
1 2
2 1

样例输出 #1

4
5

样例 #2

样例输入 #2

6 2
10 10 10 9 8 8
1 4
2 1
2 5
3 2
6 4
1 4
2 2

样例输出 #2

9
10

样例 #3

样例输入 #3

4 4
1 10 100 1000
1 2
2 3
3 4
1 4
2 3
3 2
4 1

样例输出 #3

1
10
100
1000

提示

制約

  • $ 2\ \leq\ N\ \leq\ 10^5 $
  • $ 0\leq\ X_i\leq\ 10^9 $
  • $ 1\leq\ A_i,B_i\leq\ N $
  • $ 1\leq\ Q\ \leq\ 10^5 $
  • $ 1\leq\ V_i\leq\ N $
  • $ 1\leq\ K_i\leq\ 20 $
  • 与えられるグラフは木である
  • 頂点 $ V_i $ の部分木は頂点を $ K_i $ 個以上持つ
  • 入力に含まれる値は全て整数である

Sample Explanation 1

この入力において与えられる木は下図のようなものです。 ![図](https://img.atcoder.jp/ghi/e2bc1237d64f79f33181e6f54c9f7ce7.png) $ 1 $ 番目のクエリでは、頂点 $ 1 $ の部分木に含まれる頂点 $ 1,2,3,4,5 $ に書かれた数のうち大きい方から $ 2 $ 番目である $ 4 $ を出力します。 $ 2 $ 番目のクエリでは、頂点 $ 2 $ の部分木に含まれる頂点 $ 2,3,5 $ に書かれた数のうち大きい方から $ 1 $ 番目である $ 5 $ を出力します。

思路:刚看到这种题,就感觉写起来很别扭怎么,还是要敢写才行,错了不要紧,根据k的范围我们可以知道我们只需要暴力遍历即可得出来每一个节点前20大的数

#include<bits/stdc++.h>using namespace std;typedef long long ll;
typedef pair<ll, ll>PII;
const int N = 2e5 + 10;
const int MOD = 998244353;
const int INF = 0X3F3F3F3F;
const int dx[] = {-1, 1, 0, 0, -1, -1, +1, +1};
const int dy[] = {0, 0, -1, 1, -1, +1, -1, +1};
const int M = 1e6 + 10;vector<ll>ans[N], a(N + 1), ed[N];//存树void dfs(int u, int fa)
{vector<ll>o;o.push_back(a[u]);//存上自己for(auto it : ed[u]){if(it == fa) continue;dfs(it, u);//一直遍历it那一个节点for(auto k : ans[it])//相当于那个节点上的数都给遍历完了{o.push_back(k);}}sort(o.begin(), o.end(), greater<ll>());//排好序//我们只需要取出前20即可int si = min(20, (int)o.size());for(int i = 0; i < si; i ++){ans[u].push_back(o[i]);}
}
int main()
{int n, q;cin >> n >> q;for(int i = 1; i <= n; i ++){cin >> a[i];}for(int i = 1; i <= n - 1; i ++){int u, v;cin >> u >> v;ed[u].push_back(v);ed[v].push_back(u);//存图}dfs(1, -1);//预处理出来第k大while(q --){int u, k;cin >> u >> k;cout << ans[u][k - 1] << endl;//因为下标从0开始的}
}
http://www.yayakq.cn/news/263510/

相关文章:

  • 怎样给装修公司做网站企业注册地址
  • 鄂州第一官方网站西安网页设计培训排名
  • 传媒公司网站建设策划网站排名做不上去
  • 深圳全网营销型网站百度手机网站优化指南
  • 华为快速建站甘肃省住房和城乡建设局网站
  • 做视频网站需要哪些技术网站建设维护员是做什么的
  • 找网站建设客户北京低价网站建设
  • 来个网站2021能用的长安网站建设哪家好
  • 南昌公司做网站需要多少钱中山优秀网站建设
  • 学网站建设要多长时间有好点的网站建设公司吗
  • 网站怎么设计制作宝塔面板wordpress静态化
  • 深圳做网站优化费用建设网站的五个步骤是
  • 任经理 徐州网站建设装饰装修公司排名前十强
  • 西部网站管理助手4.0成都高端网站设计
  • seo网站优化服务商wordpress采集文章
  • 个人的视频网站如何做深圳建设银行网站
  • 怎么在网站上添加地图洛阳建站优化教程
  • 郑州的网站建设网站网页价格
  • 网站可视区最多可以做多大网络营销导向企业网站建设的原则包括
  • 电影网站建设需要什么软件怎样学电商赚钱
  • 网站建设使用的什么软件有哪些国家免费24小时律师咨询
  • 深圳装饰网站建设深圳市建设集团有限公司招聘
  • 理解电子商务网站建设与管理店面logo设计制作
  • seo网站编辑专业wordpress端口修改
  • 自己怎么做机构网站房城乡建设部网站
  • 玉器企业网站源码wordpress的密码算法
  • 举报的网站是国外的域名和空间网站开发人员知乎
  • html留言簿网站基本框架搭建公司网站建设30元
  • 汶上县建设局官方网站discuz是什么东西
  • 天津做网站选津坤科技软件开发流程有哪些阶段