题目

样例

这道题就是先缩点,然后反向dfs到入度为0的点就好了,只要dfs到一个新节点,该点所代表的分量节点数就都加到sum上去,表示新加了很多粉丝.最后找最大粉丝值的分量点输出即可.

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <cmath>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <vector>
#include <string.h>
#define INF 0x3f3f3f3f
#define mem(a,b) memset(a,b,sizeof(a))
#define _for1(i,a,b) for( int i=(a); i<(b); ++i)
#define _for2(i,a,b) for( int i=(a); i>(b); i--)
#define _rep1(i,a,b) for( int i=(a); i<=(b); ++i)
#define _rep2(i,a,b) for( int i=(a); i>=(b); i--)
typedef long long ll;
using namespace std;
#define max1 30005
#define maxn 5005
vector<int> G[max1], G2[max1];//G是正向,G2是反向
stack<int> S;
int n, m;
int dfn[maxn], low[maxn],sccno[maxn];
int scccnt, tclock;
int num[maxn], ind[maxn], fan[maxn];
bool vis[maxn];
void tarjan(int u) {dfn[u] = low[u] = ++tclock;S.push(u);_for1(i, 0, G[u].size()) {int v = G[u][i];if (!dfn[v]) {tarjan(v);low[u] = min(low[u], low[v]);}else if (!sccno[v])low[u] = min(low[u], low[v]);}if (low[u] == dfn[u]) {scccnt++;num[scccnt] = 0;while (1) {int v = S.top();S.pop();sccno[v] = scccnt;num[scccnt]++;if (v == u)break;}}
}int dfs(int u) {vis[u] = true;int sum = 0;_for1(i, 0, G2[u].size()) {int v = G2[u][i];if (!vis[v])sum += num[v] + dfs(v);}return sum;
}int main() {int T;cin >> T;_rep1(kase, 1, T) {while (!S.empty())S.pop();cin >> n >> m;_for1(i, 0, n)G[i].clear();while (m--) {int u, v;cin >> u >> v;G[u].push_back(v);}mem(dfn, 0), mem(low, 0), mem(sccno, 0), mem(num, 0), mem(ind, 0), mem(fan, 0);scccnt = tclock = 0;_for1(i, 0, n)if (!dfn[i])tarjan(i);/*_for1(i, 0, n)cout << sccno[i] << " ";cout << endl;*/_rep1(i, 1, scccnt)G2[i].clear();_for1(u, 0, n)_for1(i, 0, G[u].size()) {int v = G[u][i];int x = sccno[u], y = sccno[v];if (x != y) {ind[x]++;G2[y].push_back(x);}}int maxfan = -1;_rep1(i, 1, scccnt) {if (!ind[i]) {mem(vis, 0);int sum = num[i] - 1 + dfs(i);fan[i] = max(fan[i], sum);}maxfan = max(fan[i], maxfan);}bool win[maxn];mem(win, 0);_for1(i, 0, n)if (fan[sccno[i]] == maxfan)win[i] = true;cout << "Case " << kase << ":" << " " << maxfan << endl;int flag = 1;_for1(i, 0, n)if (win[i]) {printf("%d ", i);}cout << " ";}return 0;
}

Hawk-and-Chicken相关推荐

  1. Codeforces Round #601 (Div. 2)D. Feeding Chicken,二维压一维,几何平面的分配

    D. Feeding Chicken 题目大意:就是给你一个r∗cr*cr∗c的矩阵,矩阵上若干个位置上有食物,你有k只小鸡,你要将这r∗cr*cr∗c的矩阵分成k个联通块给每个小鸡,使得有最大食物的 ...

  2. Hawk使用补充说明

    软件在发布后,收到了各方朋友的反馈和提问.此处统一对一部分问题作出回复. 感谢你使用Hawk,软件是我写的,坑是我挖的.做爬虫本来就比较复杂,一些公司有专门的程序员做爬虫工程师.因此如果你很沮丧,很有 ...

  3. 手把手视频:万能开源Hawk抓取动态网站

    Hawk是沙漠之鹰历时五年开发的开源免费网页抓取工具(爬虫),无需编程,全部可视化. 自从上次发布Hawk 2.0过了小半年,可是还是有不少朋友通过邮件或者微信的方式询问如何使用.看文档还是不如视频教 ...

  4. .NET 图形化开源爬虫Hawk 3发布

    超级图形化爬虫Hawk已经发布两年半时间了,2015年升级到第二版,收到上千条用户反馈(tucao),100多个红包,总共666块五毛~一直想攒着这笔钱,去北境之王天通苑的龙德商场买最心爱的阿迪王! ...

  5. 设计爬虫Hawk背后的故事

    本文写于圣诞节北京下午慵懒的午后.本文偏技术向,不过应该大部分人能看懂. 五年之痒 2016年,能记入个人年终总结的事情没几件,其中一个便是开源了Hawk.我花不少时间优化和推广它,得到的评价还算比较 ...

  6. [我研究]Behavior Based Software Theft Detection - Hawk

    Xinran Wang, Yoon-Chan Jhi, Sencun Zhu, Peng Liu@PSU 背景: Behavior Based Software Theft Detection的系统包 ...

  7. Hawk搜索引擎平台0.6.9测试版(提供下载)

    Hawk搜索引擎平台0.6.9测试版(提供下载) Hawk 搜索引擎平台是面向中小型网站,可以定制的垂直搜索引擎平台.本搜索引擎平台目标是方便用户搭建站内搜索.某个领域的垂直搜索.以及检索个人文档以及 ...

  8. android开源数据库,Android Hawk数据库 github开源项目

    Android Hawk数据库 github开源项目 Hawk 是一个很便捷的数据库  . 操作数据库仅仅需一行代码 , 能存不论什么数据类型 . github 地址: https://github. ...

  9. 隐私保护和数据安全:区块链的隐私问题、零钞:基于zkSNARK的完美混币池、Hawk:保护合约数据私密性、Coco框架、Baby Zoe

    第十章 文章目录 第十章 一.区块链的隐私问题 1.化名和匿名 2.去匿名攻击:交易表分析 二.零钞:基于zkSNARK的完美混币池 1.零知识证明 2.零钞的运行原理 三.Hawk:保护合约数据私密 ...

  10. 【智能优化算法】鸡群算法 (Chicken Swarm Optimization, CSO),2014

    前言 鸡群算法 (Chicken Swarm Optimization,CSO) 是一种新颖的仿生学算法,充分继承群智能优化特点,创新采用个体分类.协作优化,最大程度挖掘最优解,又能很好避免早熟现象. ...

最新文章

  1. 记 fastjson泛型转对象 第一次可以正常转,第二次就变成JSONArray 问题
  2. HBase 性能优化笔记
  3. Apache ZooKeeper - ZK的内存数据 + 持久化事务日志 + 数据快照 初探
  4. 2020 我的C++学习之路 C++PrimerPlus第八章课后习题
  5. linux python软连接_Linux软链接的创建,删除,修改
  6. 三菱m70刀杯上下m代码_加工中心常用G代码和M代码大全,收藏好了
  7. 本周4天4场直播,解决你对Oracle的种种疑惑,还有第2期大咖讲坛讨论敏捷开发中的性能质量管控...
  8. 微信公众号Web页面CSS文件里面的样式不加载
  9. 估计理论(5):BLUE的定义(6.3)
  10. 平板计算机触摸屏失灵修复小技巧,触摸屏失灵有哪些修复小技巧?
  11. 1.1 Access 简介
  12. 决策树模型,XGBoost,LightGBM和CatBoost模型可视化
  13. GitHub疯传,这个Leetcode刷题手册到底有多流弊?
  14. Android 之路24---Java基础18
  15. 中国行政区划数据下载
  16. kindle pw3 Paperwhite3强制降级过程思路
  17. 学习EasyExcel实现excel文件的批量上传的笔记
  18. 资源整合案例,老板们该如何利用闲置资源,整合打造平台!
  19. steamlink无法连接_Steam Link如果解决这两个问题,我们将一脚踏入云游戏时代
  20. python爬虫知网实例-python爬取知网

热门文章

  1. 如何让一幅图片逐渐变淡
  2. 程序员职场规划之走向技术管理-安晓辉-专题视频课程
  3. python 无脸男
  4. C语言基础代码合集 | 十进制转化为二进制
  5. Ubuntu20.04|最新一版的深度学习基础环境安装指导
  6. Torque 4.0 下载、安装、配置、提交作业、列队id归零
  7. 2018面试的-5分钟自我介绍建议
  8. 论文阅读:Detecting Visual Relationships Using Box Attention(ICCV19)
  9. Nginx+Tomcat服务器负载均衡实践方案
  10. MongoDB 存放图片