链接:https://ac.nowcoder.com/acm/contest/330/F
来源:牛客网

题目描述

Applese 有一个QQ群。在这个群中,大家互相请教问题。如 b 向 a 请教过问题,就把 a 叫做是 b 的"老板"。这样一个群中就会有很多老板。

同时规定:如果 a 是 b 的老板,b 是 c 的老板,那么 a 也是 c 的老板。

为了不破坏群里面和谐交流的氛围,Applese 定了一个群规:不允许出现 a 既是 b 的老板, b 又是 a 的老板。

你需要帮助 Applese 判断大家是否遵守了群规。

输入描述:

第一行两个整数 n, m,表示群里的人数以及请教问题的数量。
接下来 m 行,每行两个整数 a, b,表示 a 是 b 的"老板",即 b 向 a 请教了一个问题。
注:无论是否违反了群规,a 都会成为 b 的老板。

输出描述:

对于每次提问,输出一行"Yes"表示大家都遵守了群规,反之输出"No"。
示例1

输入

4 4
1 2
2 3
3 1
1 4

输出

Yes
Yes
No
No

备注:

1≤n≤1051≤n≤105
1≤m≤2⋅1051≤m≤2⋅105
1≤a,b≤n
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<math.h>
#include<vector>
#include<queue>
#include<map>
#define ll long long
#define inf 0x3f3f3f3f
using namespace std;
const int maxx=1e5+;
int n,m,a,b;
int deg[maxx];
vector<int>vec[maxx];
struct node
{
int a;
int b;
};
node edge[*maxx];
queue<int>q; bool tuopu()
{
while(!q.empty()) q.pop();
for(int i=;i<=n;i++)
if(deg[i]==)
q.push(i);
int now;//当前头结点
while(!q.empty())
{ now=q.front();
q.pop();
for(int i=;i<vec[now].size();i++)
{
if( --deg[ vec[now][i] ]== )
q.push(vec[now][i]);
}
}
for(int i=;i<=n;i++)//检查有没有入度不为0的结点,有的话就是环了
if(deg[i])
return false;
return true;
} bool check(int x)
{
memset(deg,,sizeof(deg));
for(int i=;i<=n;i++) vec[i].clear();
for(int i=;i<=x;i++)//建图
{
node e=edge[i];
deg[e.a]++;
vec[e.b].push_back(e.a);
}
return tuopu();
} int main()
{
while(scanf("%d%d",&n,&m)!=EOF)
{
for(int i=;i<=m;i++)
scanf("%d%d",&edge[i].a,&edge[i].b);
int l=,r=m;
int mid;
int ans;
while(l<=r)
{
mid=(l+r)/;
if( check(mid) )
{
ans=mid;
l=mid+;
}
else
{
r=mid-;
}
}
for(int i=;i<=m;i++)
if(i<=ans)
printf("Yes\n");
else
printf("No\n");
} return ;
} /// a b表示a是b的老板,规定箭头由b指向a,a的入度+1,a←b,b的邻接表压入a
 

Applese的QQ群-(拓扑+二分)的更多相关文章

  1. Applese 的QQ群(二分+dfs)

    链接:https://ac.nowcoder.com/acm/contest/330/F 来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 262144K,其他语言5242 ...

  2. 牛客寒假算法基础集训营4 F Applese 的QQ群

    链接:https://ac.nowcoder.com/acm/contest/330/F来源:牛客网 Applese 有一个QQ群.在这个群中,大家互相请教问题.如 b 向 a 请教过问题,就把 a ...

  3. 我们是怎么管理QQ群的

    文章背景:腾讯平台上的qq群数以千万百万计,但99%的在吹水扯蛋,从早上的问好开始,到晚上的晚安,无一不浪费青春之时间,看之痛心,无力改变,只好自己建了一个,希望能以此来改变群内交流的氛围或环境. 以 ...

  4. 新开了一个ABP交流的QQ群(579765441 ),欢迎加入

    因为ABP架构设计交流群人数一直爆满,很多想交流ABP的朋友无法加进群里, 刚新建了一个QQ群,群号579765441 (ABP架构设计交流群2),欢迎对ABP感兴趣的朋友加入. 欢迎加QQ群: AB ...

  5. 一行实现QQ群组头像,微信群组,圆角等效果. 并支持url直接加载图片

    说点题外话. Coding中我们总是经历着这么几个过程. 学会使用: 不管是API也好, 开源库也好. 总是在最开始的学会去用. 了解实现原理: 可能会因为一些不兼容, 代码的异常状态的处理不够完美等 ...

  6. 山东省滕州市木石镇化石沟村QQ群116528924

    山东省滕州市木石镇化石沟村QQ群116528924

  7. C# 软件绑定QQ群类开源放出

    周天闲来无事写个公共类,可以添加到你们自己项目中限制必须加入你QQ群才可以使用. 代码简单,高手勿喷,有哪里不合理的请回帖让大家学习学习. using System; using System.Tex ...

  8. Android QQ群:343816731 欢迎大家加入探讨

    Android QQ群:343816731 欢迎大家加入探讨.

  9. 虾皮工作室QQ群列表

    各位博友: 本群不仅仅是提供好的资料,更重要是提供平台,提供解决问题的方法和思路.求人不如求己,掌握合理的方法和方式才是不断进步的根本.看我的文档,不单单是看内容,更应该从整理的方式和角度是深思,去想 ...

随机推荐

  1. 模拟python中的Yield伪并发

    并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行. #Yield伪并发 _author_= ...

  2. SpringBoot在Kotlin中的实现(一)

    本节记录如何用Kotlin初步搭建一个SpringBoot的环境(使用Gradle自动化构建工具). 1.新建一个Gradle的Kotlin 配置完成后,build.gradle的配置如下: buil ...

  3. @Autowired与@Resource 详细诠释和区别(附带例子)

    @Autowired 与@Resource:1.@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上. 2.@Autowired默认按类型装配( ...

  4. Java8 list根据对象某个属性去重

    1. 添加方法: import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; import j ...

  5. [java] 屏蔽ie浏览器中F1帮助

    实现某一功能时需要屏蔽IE浏览器中的F1,F2快捷键. 百度后发现如下代码 var jq$ = jQuery.noConflict(); //防止$符号与其他的冲突 jq$(document).rea ...

  6. String,StringBuilder,StringBuffer三者的区别(Java)

    这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面. 1. 首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer &g ...

  7. 【Linux】【Tomcat】Tomcat的安装和配置等

    安装环境 :Linux(Ubuntu 版) 安装软件 : apache-tomcat-9.0.0.M1.tar.gz(下载地址http://tomcat.apache.org/) 步骤一 Tomcat ...

  8. 【IP代理】国内省市域名代理

    最近遇到一个测试问题,就是投放时需要按地域投放,所以需要对指定的IP地址范围内的地方投放才有效. 所以,就调查了下IP代理的方式,一个是SSR,这个好像只能代理国外的域名方式,另外一个就是百度搜索IP ...

  9. python2和python3的内存使用情况

    python2 对回收后的整数复用内存不作处理 python3则改进了改设计,极大的减少了内存占用 例如 a = range(1000000000000) del a 此时: python2 对于a占 ...

  10. 使用Hexo + Github Pages搭建个人独立博客

    使用Hexo + Github Pages搭建个人独立博客 https://linghucong.js.org/2016/04/15/2016-04-15-hexo-github-pages-blog ...