首页 > 其他分享 >捉迷藏

捉迷藏

时间:2024-02-13 15:22:23浏览次数:24  
标签:终点 捉迷藏 路径 到达 next pe path

这里主要是对蓝书上做法的补充

首先看到这道题目,我们假设已经知道要选哪些点了,那我们在原图\(G\)上每选一个点,与这个点有关的路径上的所有点都要被打上标记,打上标记的点就不能再选了,所以我们选的点就是每次都没有标记的点

像这种“与一点有关的所有路径的所有点”,可以通过传递闭包后转化为“与一点走一条边有关的所有点”来简化,这就是为啥后面的分析是基于\(G^{'}\)的

然后蓝书上\(path\)的具体构造方案其实就是上一页证明里面的构造方案(二分图中的匹配边都选上)

我们是怎么想到最开始选终点的?我们考虑传递闭包之后的图,一般长成这个样子

我们选择点,似乎是往终点选择更好,所以我们最开始先选上所有终点

然后我们让所有终点向前(注意是向前,不是向后)走一条边(注意这个边都是指\(G^{'}\)的边,而不是\(G\)的),就有了蓝书的第三步

然后蓝书说的\(e\)所在的路径\(pe\)指的是\(path\)中的一条路径\(pe\);由于\(path\)是不相交的,所以对于\(E∩next(E)\)的每个节点的\(pe\)都是没有重复的点的

然后蓝书说的反证就是如果找不到\(e^{'}\),那么\(E\)中的某一点就可以到达\(pe\)的起点,然后就可以把这两条路径给接起来,让\(path\)减少

注意\(next(E)\)在以上过程中是一直不变的,即就是最开始选的所有终点走一条边所求出来的\(next(E)\)

然后最后我们证明一下最终的点集是符合题意的

首先,在最终的点集中,对于没有更换的点(即最开始就选出来的终点),他们走一步显然是不能互相到达的,而且也不能到达某一个\(e^{'}\)(任意一个\(e^{'}\)都不在\(next(E)\)中,而现在由于最开始选出来的终点变少了,如果现在让这些终点走一条边形成一个集合\(next^{'}(E)\),那么这肯定是\(next(E)\)的子集,所以\(e^{'}\)也不会是\(next^{'}(E)\)中的某一个元素)

然后对于某一个\(e^{'}\),如果他能到达某一个没有更换的点,那么他肯定能到达\(next(E)\)中的某一个点,这就矛盾了。如果某一个\(e^{'}\)可以到达另一个\(e^{'}\),那么前者一定能到达后者在其\(pe\)上的终点,也就能到达\(next(E)\),也矛盾了

所以最终的点集是符合题意的

标签:终点,捉迷藏,路径,到达,next,pe,path
From: https://www.cnblogs.com/dingxingdi/p/18014602

相关文章

  • 捉迷藏
    #include<bits/stdc++.h>usingnamespacestd;intmain(){ inta[1001]; intdong=0,cishu=10; boolb[1001]; for(inti=1;i<=10;i++){ b[i]=true; } for(inti=1;i<=1000;i++){ b[cishu]=false; if(i+cishu>10){ cishu=(i+cishu)%10; }e......
  • 捉迷藏
    #include<bits/stdc++.h>usingnamespacestd;intmain(){ boola[11]={1}; intcishu,i; for(i=1;i<=10;i++){ a[i]=true; } i=10; a[i]=false; cishu=1; while(cishu<=1000){ i=(i+cishu)%10; if(i==0)i=10; a[i]=false; cishu++; } for(i=1;i&l......
  • BZOJ 3402: [Usaco2009 Open]Hide and Seek 捉迷藏 最短路
    3402:[Usaco2009Open]HideandSeek捉迷藏TimeLimit: 3Sec  MemoryLimit: 128MBSubmit: 213  Solved: 167[Submit][Status][Discuss]Description    贝茜在和约翰玩一个“捉迷藏”的游戏.    她正要找出所有适合她躲藏的安全牛棚.一共有N(2≤N≤20000......
  • 孤独的捉迷藏
    断更。手指落在冰冷的桌面上,却没有回声。想起那时盖上琴盖的自己,觉得愚蠢至极。而现在已经成为了过往,我无数次想要再掀开那架梦中闪烁着的钢琴,但那最终也只是一个梦了。......
  • 今天和一道题玩了捉迷藏
    同步:https://x.zhufn.fun/今天和一道题玩了捉迷藏xxxorrr今天和一道题玩了捉迷藏(xxxorrr)当你在main中找不到程序逻辑的时候,如何考虑?有没有注册异常处理程序。还有像......
  • 【PER #1】捉迷藏 / Ptz2022 Day1.Kyoto U L 题解
    今天心血来潮想改一改pj的题,发现了这场easyround的A还没改……跟自己和解了,想了两天没想明白,说说大致思路。题目链接只考虑一组询问怎么做,先把\(v\)当作根,称......
  • 捉迷藏
    捉迷藏“哈哈,找到了!”咦,家里怎么回事?这么吵啊!啊,原来是我和表姐表弟在玩捉迷藏呢。首先我来躲,他们俩来找,我东瞧瞧西看看,看看觉得哪儿都不好,除了——投影仪幕布的......
  • 379. 捉迷藏
    题目链接379.捉迷藏Vani和cl2在一片树林里捉迷藏。这片树林里有\(N\)座房子,\(M\)条有向道路,组成了一张有向无环图。树林里的树非常茂密,足以遮挡视线,但是沿着道......
  • 【ZJOI2007】捉迷藏(动态树分治)
    显然只有一次询问的话,可以用点分治来实现。但是现在我们有多组询问,还带有修改,我们只能通过动态点分治来做了。动态点分治的主要思想:省去每次点分治求重心的过程,直接预处......