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

安康公司网站制作百度收录提交申请网站

安康公司网站制作,百度收录提交申请网站,做网站必须托管服务器吗,阿拉伯网站建设E - Reachable Sethttp://E - Reachable Set 题意概述 : 给定一个无向图, 对于每个 ,解决以下问题: -选择最少的一些顶点,使得删除这些顶点及其关联的所有边后 点1只能到达以内的所有点 牵制芝士 :头文…

E - Reachable Sethttp://E - Reachable Set

题意概述 :

给定一个无向图,

对于每个  k=1\sim n,解决以下问题:

-选择最少的一些顶点,使得删除这些顶点及其关联的所有边后 点1能到达1 \sim k以内的所有


牵制芝士 :头文件,建图,带权并查集


题解 :

首先,我们可以将题目拆成两部分

1 :判断一个点能不能实现目标

2 :对于能实现的点,计算答案


第一部分 :

可以用并查集来处理

只与比k小的节点连边,并统计与1所在集合的节点数

由于只与比k小的节点连边,所以集合中只会有小于等于k的节点

所以当且仅当点1所在集合的节点数等于k时,点1才会与1\sim k都联通

第二部分 :

使用vis数组标记目前是否能从1\sim k直接扩展到点x

ans表示vis值为1的节点的个数

所有大于k能扩展点,都需要被删除

因为只处理能实现目标的节点,所以答案就是ans-k

代码 :

#include<bits/stdc++.h>
using namespace std;
int n,m,fa[210000],sum[210000];
vector<int>a[210000];
bool vis[210000];
int find(int x)
{if(x==fa[x]) return x;return fa[x]=find(fa[x]);
}
void add(int x,int y)
{int fax=find(x);int fay=find(y);if(fax>fay) swap(fax,fay);if(fax!=fay){sum[fax]+=sum[fay];fa[fay]=fax;}
}
int main()
{scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){fa[i]=i;sum[i]=1;}for(int i=1;i<=m;i++){int x,y;scanf("%d%d",&x,&y);a[x].push_back(y);a[y].push_back(x);}vis[1]=1;int ans=0;for(int i=1;i<=n;i++){for(int j=0;j<a[i].size();j++){if(a[i][j]<i) add(a[i][j],i);//第一部分if(!vis[a[i][j]]) ans++;//第二部分vis[a[i][j]]=1;}printf("%d\n",sum[1]!=i?-1:(ans-i));}return 0;
}

http://www.dtcms.com/wzjs/529663.html

相关文章:

  • 印度尼西亚网站后缀杭州优化公司多少钱
  • 网站建设制作、微信公众号如何刷seo关键词排名
  • 村级网站建站怎么创建自己的免费网址
  • 网站制作的目的推广普通话奋进新征程
  • 北京新机场建设网站营销方案设计思路
  • 网站模板与网站定制版的区别最有效的网络推广方式和策略
  • 贵州中小型营销型网站建设公司百度官网推广
  • 郑州做网站好的公外贸网站如何推广优化
  • 交流建设网站seo自媒体培训
  • 互联网去哪里学seo优化的内容有哪些
  • 都什么企业需要网站吗广告营销留电话网站
  • 用jsp做的汽车网站最新网站查询
  • qq空间网页版登录入口代哥seo
  • 站长之家收录查询长沙百度地图
  • 手机做网站的百度平台营销软件
  • 百度做自己的网站链接交换平台
  • 网站被模仿如何维权seo入门基础知识
  • 做网站诈骗宁波网站推广方案
  • 深圳做微商网站公司自己开平台怎么弄啊
  • 这样做自己公司的网站品牌营销的四大策略
  • wordpress互访页面东莞网站seo推广
  • 太原专业网站建设精准客户运营推广
  • 个人智慧团建网站外贸获客软件
  • 怎么做一个购物平台网站市场营销十大经典案例
  • 河曲县城乡建设管理局网站今天晚上19点新闻联播直播回放
  • 网站模板怎么用写手接单平台
  • 网站如何做关键词排名seo培训多少钱
  • 学技术网站友情链接英文
  • 泰州做网站开封网站优化公司
  • 桂林做网站哪家公司好品牌营销是什么