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

某景区网站建设策划书百度快速排名培训

某景区网站建设策划书,百度快速排名培训,建网站现软件,网站为什么要改版原题链接: https://acm.hdu.edu.cn/showproblem.php?pid5927 题意: 有一颗根节点是1的树,其中有重要的点和不重要的点,重要的点需满足以下两个条件至少一个: 1.本来就是重要的点 2.是两个重要的点的最近共同祖先 有t…

原题链接:
https://acm.hdu.edu.cn/showproblem.php?pid=5927

题意:
有一颗根节点是1的树,其中有重要的点和不重要的点,重要的点需满足以下两个条件至少一个:
1.本来就是重要的点
2.是两个重要的点的最近共同祖先
有t个测试实例,对于每个测试实例:
给出结点个数n和询问次数q
对于每次询问:
给出一个数con,表示不重要的点的个数
接下来con个数是不重要的点的编号
对于每个询问,求出重要的点的个数(每次询问之间相互独立)

思路:
ans记录重要结点的个数
本来就是重要的点有n-con个
那么我们就需要检查一下不重要的点,对于每个不重要的点看看他是不是两个重要的点的最近共同祖先

对于点u,如果他的以儿子结点为根的子树中,多于两个子树里有
重要的结点,那么u就能变成重要的结点

那么我们可以先预处理好每个结点的儿子结点的个数,每个点的父节点和每个点的深度

然后再对不重要的结点按照深度从大到小的顺序排序

从最深的结点u开始遍历,如果u的有重要点的儿子结点数量超过两个,那么u就可以变成重要结点,ans++

如果变不了重要结点,说明u的有重要点的儿子结点数量要么是0要么是1,如果是0,那么u的父节点的有重要儿子结点的数量就需要-1,因为每次询问独立,那么我们需要将减掉的点给记录一下,当这次询问完毕时再复原加上

#include <bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
int d[maxn];
int book[maxn];
vector<int> edg[maxn];
int que[maxn];
int impor[maxn];
int unimpor[maxn];
int ans;
int son[maxn];
int so[maxn];
int fa[maxn];
bool cmp(int x, int y)
{return d[x]>d[y];
}
void dfs(int x, int y)
{fa[x]=y;son[y]++;son[x]=0;d[x]=d[y]+1;for(int i=0; i<(int)edg[x].size(); i++){if(edg[x][i]!=y)dfs(edg[x][i],x);}return;
}
int main()
{int t;cin>>t;int e=1; while(t--){int n;int q;scanf("%d%d", &n, &q);int i, j, x, y;for(i=0; i<n-1; i++){scanf("%d %d", &x, &y);edg[x].push_back(y);edg[y].push_back(x);	}dfs(1,0);int  m;printf("Case #%d:\n", e++);    while(q--){scanf("%d", &m);for(i=0; i<m; i++){  scanf("%d", &unimpor[i]);//不重要节点so[unimpor[i]]=son[unimpor[i]];//节点的儿子}ans=n-m;sort(unimpor, unimpor+m, cmp);for(i=0; i<m; i++){if(so[unimpor[i]]>=2)ans++;else{if(so[unimpor[i]]==0)  so[fa[unimpor[i]]]--;}}printf("%d\n", ans);}for(i=1; i<=n; i++){edg[i].clear();
//		vector<int>().swap(edg[i]);}}  
}
http://www.15wanjia.com/news/168145.html

相关文章:

  • asp.net做的音乐网站百度在线翻译
  • 网站开发问卷调查题新乡做网站费用
  • 龙岗网站seo平面设计网站
  • 服装设计网站有哪些网站seo优化技巧
  • 福州网站建设咨询php网站开发框架有哪些
  • 做a免费网站126企业邮箱入口
  • 普陀区网站开发创业做网站失败
  • 想把公司的外部网站替换无锡鑫融建设网站
  • 邵阳市网站建设怎么快速提高网站权重
  • 穿着西裤做的网站4399游戏盒下载官方网站
  • 如何在谷歌上做网站网络广告推广服务
  • wordpress 主机 优点网站seo优化排名
  • 网站 mvc 设计素材下载网
  • 红色大气网络公司企业网站源码_适合广告设计免费公众号开发平台
  • 大型网站建设方案常见问题做视频赚钱的网站有哪些
  • 网站创建想法扬中论坛网官网
  • 网站建设管理经验楚雄企业网站建设公司
  • 网站根目录文件名深圳龙华招聘信息最新招聘
  • 上海网站哪个比较好搜索竞价排名
  • 北京哪里可以申请企业网站域名官网西安制作网站需要多少钱
  • 个人做网站语言石家庄便宜网站制作
  • 学校做网站需要多少钱龙岩网站制作公司
  • 织梦手机电影网站模板网站导航图怎么做的详细步骤
  • 企业网站托管外包怎么做宜兴淘宝网站建设
  • 做网站拉客户有效吗游戏网站开发找什么人可建
  • 会议网站开发wordpress 设置固定链接
  • 工程项目管理软件app生产企业网站如何做seo
  • 为什么后台编辑内容和网站上面显示的内容不一致网站一年的维护费用
  • 做网站能不能放暴露图片海外服务器ip
  • c 网站开发入门视频装修公司经营范围有哪些内容