首页 > 其他分享 >「学习笔记」竞赛图

「学习笔记」竞赛图

时间:2023-07-06 22:45:27浏览次数:40  
标签:缩点 竞赛 联通 出度 入度 笔记 学习 binom

估计没什么用,所以只是娱乐向。


定义:\(n\) 个点,任意两点之间有且仅有一条有向边的图叫竞赛图,这个名称很形象吧。

  • 一定存在一条哈密顿路径,存在哈密顿回路的充要条件是这个竞赛图强连通。

  • 的每一个强连通都存在哈密顿环。数学归纳法证明。

  • 缩点后是一条链。用上面那条性质可以证明。

  • 若 \(x\) 的出度大于 \(y\) 的出度,则一定存在一条 \(x\) 到 \(y\) 的路径。利用缩点后是一条链证明。

  • 竞赛图没有自环,没有二元环;若竞赛图存在环,则一定存在三元环。

  • 兰道定理:将图每个点的出度排序,若 \(\forall k, \sum_{i=1}^kd_k \geqslant \binom k 2\),且 \(k=n\) 时取等,那么这个图是竞赛图。反之也成立。


CF1498E Two Houses
发现竞赛图中如果入度大的点 \(x\) 可以到达入度小的点 \(y\),则这两个点强联通。

证明:结合性质 \(x\) 的出度小于 \(y\) 的出度,所以 \(y\) 一定能到达 \(x\)。如果 \(x\) 能到达 \(y\),就强联通了。

所以直接排序后从大到小询问即可。

也有一种 无需询问 的方法:我们将点的入度从小到大排序。如果前 \(k\) 个点,\(\sum d_i=\binom k 2\) ,设上一个这样的 \(k\) 为 \(las\),那么 \([las+1,k]\) 是一个强联通分量。通过这种方式我们可以找出所有的强联通分量,所以直接计算答案。

证明:发现竞赛图中强联通分量的度数区间一定连续,这个可以通过想象缩点后的那条链得出。设第一个 SCC 为集合 \(L\),大小为 \(l\),后面的点为集合 \(R\),大小为 \(r\)。则 \(L\) 的入度和为 \(\binom l 2\),而 \(L\rightarrow R\) 的边有 \(lr=sum_{i\in R}l\) 个,所以减一下 \(R\) 内部的边有 \(\binom r 2\) 个,所以 \(R\) 是一个 SCC。至于 \(L+R\) 为什么不是 SCC,可以感性理解得出。


CF1514E Baby Ehab's Hyper Apartment

标签:缩点,竞赛,联通,出度,入度,笔记,学习,binom
From: https://www.cnblogs.com/Kidulthood/p/17533535.html

相关文章

  • opencv dnn学习
     (1条消息)OpenCV中blobFromImage函数详细解释_cv::dnn::blobfromimage_阿卡基YUAN的博客-CSDN博客 ......
  • 71. mybatis 如何获取插入的id【从零开始学习SpirngBoot】
      【从零开始学习SpirngBoot—常见异常汇总】      在之前的文章已经讲过springboot集成mybatis了,但是忘记说一个很重要的知识点了,那就是获取获取主键id,这篇文章补充下,springboot集成mybatis看之前文章:       其实这个也很简单,主要是使用@Options注解,核心代......
  • 记一次重装windows系统后笔记本键盘不能用的问题解决
    刚买了一台笔记本,预装的是Windows11。这个系统我见识过,优点还没看到,不习惯的地方很多。所以重装了Windows10LTSC。结果装完笔记本键盘不能用。这个情况之前用拯救者Y7000装plex的时候也遇到过,那时候没解决,这次非处理好不可下载驱动管理软件看,没有显示有对应键盘的驱动进设备管......
  • 《Effective C++ 改善程序与设计的55个具体做法》读书笔记
    1.让自己习惯C++条款01视C++为一个语言联邦CObject-OrientedC++TemplateC++STLC++高效编程守则视情况而变化,取决于你使用C++的哪一部分。条款02尽量与const,enum,inline替换#define对于单纯常量,最好以const对象或enums替换#defines。对于形似函数的宏(macros),最好改......
  • CSS学习笔记3-CSS元素定位
    1标准流布局1.1认识定位属性......
  • 7.6 爬虫基础知识学习 requests的使用
    1.requests的快速使用 /1爬虫定义:可见即可爬/2安装resquests模块正确路径下输入pipinstallrequests/3用requests发送get请求importrequests#res是响应对象就是http响应python包装成了对象(响应头,响应体等)res=requests.get('https://www.cnblogs.com/abc6838......
  • 十一、控件学习
    1.QWidget主窗口控件1.1是所有用户界面对象的基类,即直接或间接的继承于该类。1.2常用于做顶层小部件或子小部件。1.3示例 2.QPushButton按钮控件2.1常用信号clicked(boolchecked):点击信号pressed():按下信号released():释放信号to......
  • 2023.7.6做题笔记
    数论矩阵快速幂[NOI2012]随机数生成器这道题递推公式已经给我们了\[X_{n+1}=(aX_n+c)\bmodm\]但是如果用这个递推式如果直接使用的会超时,所以我们用矩阵快速幂来优化首先我们构造初始矩阵:\(\begin{bmatrix}X_{i-1}&c\end{bmatrix}\)根据递推式我们可以知道\[X_i=X_......
  • 【置顶】算法笔记目录
    1.图论dijkstra算法笔记2.树:树状数组算法笔记线段树算法笔记......
  • Blazor学习之旅(2)第一个Blazor应用
    本篇我们来构建第一个BlazorWeb应用,这里我们选择BlazorServer类型,后面我们再学习BlazorWebAssembly类型。话外音:有人问我西门子在用Blazor吗?是的,西门子德国的两家数字化工厂都有在用Blazor开发Web应用,特别用到了MudBlazor这个UI组件库并封装一个完整的内部系统开发模板,值得关......