Applese 的QQ群
https://ac.nowcoder.com/acm/contest/330/F
C++版本一
题解:
std
图论,二分,拓扑排序
题意是想让大家判断有向图是否存在环。判断有向图是否有环可以使用拓扑排序。
但是不能每次加边的时候就进行判断。
由于不存在撤销操作,所以可以发现答案一定是一连串的Yes后再有一连串的No。
只需要二分最后一个Yes的位置,用拓扑排序/DFS判环即可。
#include <bits/stdc++.h>
using namespace std;bool ok(int x, int n, const vector<pair<int, int>>& edges)
{vector<vector<int>> G(n);vector<int> deg(n);for (int i = 0; i < x; i++){G[edges[i].first].push_back(edges[i].second);++deg[edges[i].second];}queue<int> q;for (int i = 0; i < n; i++)if (!deg[i]) q.push(i);int tot = 0;while (!q.empty()){int u = q.front();q.pop();++tot;for (auto& v : G[u])if (--deg[v] == 0) q.push(v);}return tot == n;
}int main()
{int n, m;scanf("%d%d", &n, &m);vector<pair<int, int>> edges;for (int i = 0, u, v; i < m; i++){scanf("%d%d", &u, &v);--u, --v;edges.emplace_back(u, v);}int l = 1, r = m, ans;while (l <= r){int mid = l + r >> 1;if (ok(mid, n, edges))l = mid + 1, ans = mid;elser = mid - 1;}for (int i = 0; i < ans; i++) puts("Yes");for (int i = ans; i < m; i++) puts("No");
}
Applese 的QQ群相关推荐
- Applese 的QQ群--(判断图是否成环)
链接:https://ac.nowcoder.com/acm/contest/330/F 来源:牛客网 Applese 的QQ群 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 262 ...
- 【牛客 - 330F】Applese 的QQ群(拓扑排序,二分)
题干: Applese 有一个QQ群.在这个群中,大家互相请教问题.如 b 向 a 请教过问题,就把 a 叫做是 b 的"老板".这样一个群中就会有很多老板. 同时规定:如果 a ...
- Applese 的 QQ 群
[题目描述] Applese 有一个QQ群.在这个群中,大家互相请教问题.如 b 向 a 请教过问题,就把 a 叫做是 b 的"老板".这样一个群中就会有很多老板. 同时规定:如果 ...
- Applese 的QQ群(二分+dfs)
链接:https://ac.nowcoder.com/acm/contest/330/F 来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 262144K,其他语言5242 ...
- QQ群功能设计与心理学
2019独角兽企业重金招聘Python工程师标准>>> 刚刚在一个Java技术交流群,发了个 "博客投票"的广告. 群主两眼一黑,瞬间就把我给干掉了. 看到QQ给 ...
- 关于QQ群共享一百多K以上的文件上传失败的问题
关于QQ群共享一百多K文件以下能上传,一百多K以上的文件总是上传失败的问题,我纠结了很久,今天无意中把我的杀毒软件的防护控制给关掉,结果真上传上去了,不管多大的文件,希望能给同样遇到这个问题的朋友带来 ...
- 电子病历、HL7交流QQ群:14739311欢迎一起交流
HC3i中国数字医疗论坛交流QQ群:14739311 欢迎加入,主要面向关注:医疗信息化.电子病历.PACS.HIS.区域医疗.HL7.医疗解决方案案例.医疗论文的网友 本文来自: HC3i数字医疗 ...
- QQ群管理员无法进行成员管理问题的解决
一.问题的提出 连续几天都无法对QQ群内人员进行管理.在进入"成员管理"项目的时候系统总是提示:"无法取得群信息,连接服务器超时或者无响应,请重试".这样就 ...
- C# 获取QQ群数据的实现
一,分析 1,群数据获取 当访问http://qun.qq.com/air/#mygroup我们通过Fiddler可以查看到QQ群列表是从http://qun.qq.com/air/group/min ...
最新文章
- ci ajax js,CodeIgniter4 AJAX请求
- SAP MM 如何看一个Inbound Delivery单据相关的IDoc?
- VTK:可视化之FastSplatter
- 软件开发模型和软件过程模型_什么是软件和软件过程?
- 理论基础 —— 线性表 —— 单链表
- [摘记]数值方法12——常微分方程组的积分
- 使用批处理文件来操作注册表
- 前端开发人员常用网站
- NHibernate之映射文件配置说明(转载1)
- JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)
- 今年立下的 Flag 倒了几个?
- [图文详解]图像处理中的高斯模糊
- 飞秋mac版字符乱码_Mac版QQ的OCR文字识别功能究竟有多好用?
- JavaScript学习手册四:JS对象
- mysql batch insert_使用batch insert解决MySQL的insert吞吐量问题
- 凯撒移位密码python_凯撒密码python拓展程序
- 计算机的基础单位和四种进制的基本知识
- Yolov5训练自己的数据集(windows10)
- DAZ 3D 软件简单安装和使用
- java 邮件 已读回执_java – 在Firebase群组消息传递应用中实施已读回执功能
热门文章
- php内部常量_PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
- android 提示文字,EditText 不能显示提示文字Hint
- mysql配置读写分离无效_MySQL数据库的同步配置+MySql 读写分离
- 常见计算机英语,常见计算机英语词汇
- python爬取app中的音频_Python爬取抖音APP,只需要十行代码
- mysql profile 不记录_mysql profile使用(转)
- android camera 实时滤镜,【Camera】Android平台Camera实时滤镜实现方法
- java handlersocket_HandlerSocket java客户端
- 聚类(上)K-mean算法
- php 支付宝订单查询_5. PHP接入支付宝单笔订单查询接口