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

上海找做网站公司/千锋教育培训怎么样

上海找做网站公司,千锋教育培训怎么样,工作是套模板做网站,网站为何站长统计题意简述:给一棵以\(1\)为根的树,节点有\(n\)个,求每个点以它为根的子树中与它距离小于等于\(l\)的点有多少个。 解法:主席树。按树的\(dfs\)序建立一个主席树(离散化)记录深度,在同一子树中的点…

题意简述:给一棵以\(1\)为根的树,节点有\(n\)个,求每个点以它为根的子树中与它距离小于等于\(l\)的点有多少个。

解法:主席树。按树的\(dfs\)序建立一个主席树(离散化)记录深度,在同一子树中的点一定在连续一段,计算与它距离等于\(l\)的点(假想的点)的排名。

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int n,bg[200010],ed[200010],idx=0,len=0;
ll m,val[200010],w[200010],p[400010];
int cnt=0,hed[200010],to[200010],nxt[200010];
int rt[200010],Sum[10000010],L[10000010],R[10000010],tot=0;inline void add(int x,int y,ll z) { to[++cnt]=y,val[cnt]=z,nxt[cnt]=hed[x],hed[x]=cnt; }
void dfs(int u) {bg[u]=++idx;for(int i=hed[u];i;i=nxt[i])    w[to[i]]=w[u]+val[i],dfs(to[i]);ed[u]=idx;
}
void update(int pre,int &u,int l,int r,int x) {u=++tot; Sum[u]=Sum[pre]+1,L[u]=L[pre],R[u]=R[pre]; if(l>=r)    return ;int mid=(l+r)>>1; x<=mid?   update(L[pre],L[u],l,mid,x):update(R[pre],R[u],mid+1,r,x);
}
void dfs2(int u) {++idx,update(rt[idx-1],rt[idx],1,len,w[u]);for(int i=hed[u];i;i=nxt[i])    dfs2(to[i]);
}
int query(int u,int v,int l,int r,int x) {if(l>=r)    return Sum[v]-Sum[u];int mid=(l+r)>>1;if(x<=mid)  return query(L[u],L[v],l,mid,x);return query(R[u],R[v],mid+1,r,x)+Sum[L[v]]-Sum[L[u]];
}
int main() {scanf("%d%lld",&n,&m);for(int i=2;i<=n;i++) { int x; ll y; scanf("%d%lld",&x,&y),add(x,i,y); }dfs(1);for(int i=1;i<=n;i++)   p[++len]=w[i],p[++len]=w[i]+m;sort(p+1,p+len+1),len=unique(p+1,p+len+1)-p-1;for(int i=1;i<=n;i++)   w[i]=lower_bound(p+1,p+len+1,w[i])-p;
//  for(int i=1;i<=len;i++) printf("%lld ",p[i]);printf("\n");idx=0,dfs2(1);for(int i=1;i<=n;i++) {int t=lower_bound(p+1,p+len+1,m+p[w[i]])-p;
//      printf(">>> %lld %lld\n",p[w[i]],p[t]);printf("%d\n",query(rt[bg[i]-1],rt[ed[i]],1,len,t));}return 0;
}

转载于:https://www.cnblogs.com/daniel14311531/p/10177286.html

http://www.lbrq.cn/news/1086679.html

相关文章:

  • 深圳建站公司服务/谷歌网址
  • 个人域名备过案了做电影网站会查吗/宁波做网站的公司
  • 深圳品牌做网站/重庆百度搜索优化
  • 域名对网站排名的影响/百度联盟怎么赚钱
  • 郑州网站优化的微博_腾讯微博/软文写作经验是什么
  • 北京建设信源网站 怎么打不开/长沙靠谱seo优化
  • 河南住房和城乡建设厅网站特种/百度一对一解答
  • 做机械的老板都看什么网站/免费推广公司
  • 武汉竞价托管公司/网站seo优化服务商
  • 百度做公司网站有用吗/今日热搜榜
  • seo网站优化推广教程/电商平台推广费用大概要多少
  • 网站建设制作怎么弄/网络推广技巧
  • 免费在线网站/网络营销的特点分别是
  • 温州网站建设方案/seo整合营销
  • 山东做网站的公司/重庆网站seo建设哪家好
  • 泉州企业做网站/2345网址大全
  • 网页设计网站建设过程报告/搜索词排行榜
  • 外国购物网站有哪些平台/百度官方网站入口
  • 南京模板做网站/长春网站制作系统
  • 河北省住房和建设厅网站/百度指数在线查询前100
  • 河源公司做网站/千博企业网站管理系统
  • 做有色研究的网站/网络推广吧
  • 中国电子商务网站建设/seo薪酬如何
  • 在乐文网站做翻译靠谱吗/软文代发价格
  • 网站设计和平面设计/创建网站的流程
  • 校园门户网站开发需求分析/google app
  • 网站建设青岛公司/娃哈哈软文推广
  • 营销型网站建设的特别之处都有哪些/百度广告优化
  • 网站建设 天津/推广普通话宣传语手抄报
  • 可做分析图的地图网站/seo怎么收费
  • 力扣热题100----------41.缺少的第一个正数
  • [电网备考]计算机组成与原理
  • Mysql 二进制安装常见问题
  • Flutter 生命周期介绍
  • CentOS 9 配置国内 YUM 源
  • 什么是加密货币中的节点?