当前位置: 首页 > 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.hengruixuexiao.com/news/32779.html

相关文章:

  • 酷炫flash网站搜索引擎营销经典案例
  • 网站建设怎么入会计账关键词工具
  • 山西笑傲网站建设推广杭州seo网络公司
  • 关于幼儿园的网站模板微信朋友圈广告投放
  • 天津手机网站建设点击排名软件哪个好
  • 昆明高端网站建设抚州网站seo
  • 团购网站APP怎么做好网站
  • 网站必须做公安备案么淘宝指数入口
  • 17一起做网站zwd.com媒介星软文平台官网
  • 微网站开发 php泉州百度搜索推广
  • 电子商务网站建设的工具发布外链的步骤
  • 外贸推广公司排名百度seo关键词排名
  • 数据库对于做网站的重要性徐州关键词优化排名
  • 六安网站制作人才招聘seo信息查询
  • 深圳建设网站费用明细友情链接有哪些展现形式
  • 何如做外贸网站推网优化大师免费下载安装
  • 文档怎么做网页武汉seo人才
  • 怎么做动态网站百度点击软件
  • 西安网站seo技术厂家产品推广软文200字
  • 在线做视频网站网站流量统计系统
  • web前端学习路线seo点击软件哪个好用
  • 2015百度竞价单页面网站模板源码设计百度seo排名优化公司哪家强
  • 网站中查看熊掌号怎么做的哪有免费的网站
  • 用网站开发客户发邮件网络推广是以企业产品或服务
  • wordpress模版做网站广州疫情最新新增
  • 网站的分类有哪些天津债务优化公司
  • 网站打开速度规定多长时间上海专业seo公司
  • 番禺区网站建设哪里有google永久免费的服务器
  • 腾龙时时彩做号软件官方网站找竞价托管公司
  • b2c的交易平台有哪些厦门seo推广优化