zoukankan      html  css  js  c++  java
  • poj2186

    题意:

          每一头牛的愿望就是变成一头最受欢迎的牛。现在有N头牛,给你M对整数(A,B),表示牛A认为牛B受欢迎。 这种关系是具有传递性的,如果A认为B受欢迎,B认为C受欢迎,那么牛A也认为牛C受欢迎。你的任务是求出有多少头牛被所有的牛认为是受欢迎的。
    题解:
          这道题缩点还是挺明显的
          先用tarjan缩点(显然在环上的点要么全部是答案要是全部不是)
          然后判断一下图是否联通(不管边的方向)
          要是不连通那么一定是无解的
          要是联通就数出度为0的点有几个
          如果有且仅有一个就满足条件(其实tanjan的题好多都是根据入度和出度来判断性质的)
          不过还是来证明一下吧
          首先,证必要性:如果有两个点出度为0,那么这两个点中的任意一个点都不被另一个点欣赏
          然后,证充分性:如果只有一个点出度为0,那么我们考虑把它拿到根处
          显然他的儿子一定是都指向他的(因为它出度为0)
          那考虑他儿子的儿子,如果是从儿子指向儿子的儿子
          那么其下面一定有一个点出度为0了
  • 相关阅读:
    mysql导sql脚本
    oracle导sql脚本
    基于jdk proxy的动态代理模式
    vue组件之组件的生命周期
    vue组件之组件间的通信
    python-爬虫scrapy框架安装及基本使用
    mongdb的使用
    python-爬虫 多线程爬虫
    python-爬虫 爬虫利器BeautifulSoup
    python-爬虫lxml库
  • 原文地址:https://www.cnblogs.com/yinwuxiao/p/8533513.html
Copyright © 2011-2022 走看看