- 博客(8)
- 收藏
- 关注
原创 Educational Codeforces Round 122 F. Perfect Matching
先简述一下题意:给出一棵树,根节点1在一开始是激活的,每次在已激活的点中选择一个点的儿子激活,并求出完美匹配我们首先考虑如何判断一个树是否有完美匹配,对于这样一个过程:每次取出最深的叶子,将它与它的父亲匹配,并删去他们两个,直至整棵树被删完。容易发现,这个过程可以求出树的最大匹配(正确性证明可以参考二分图最大匹配,每次选出的两个点不会出现在增广路中,因此可以删去)。因此,我们只需要在保证每次选出的叶子的父亲只有一个儿子(不会有节点被浪费),树就存在完美匹配。接着,我们考虑如何快速判断。每次删去的点个
2022-02-07 21:53:04
615
原创 带花树算法(一般图最大匹配)
我们首先介绍匈牙利算法,它可以处理不存在奇环的二分图图最大匹配问题,但是,当它处理含奇环的一般图时,要么无法保证复杂度,要么无法保证正确性。因此,我们有了带花树算法它的过程和匈牙利算法类似,只是加入了处理奇环(这里称为花)的情况。首先,依次枚举每个点,找出未匹配的点s,将s染成蓝色,加入队列(使用宽搜),从s出发寻找增广路。对于队列里的x,枚举它的邻居y,有以下几种情况1.若y未匹配,则找到增广路2.若y已匹配:1)y未染色:将y染为红色,将y的匹配点染为蓝色,并加入队列
2022-02-06 15:34:25
1636
原创 2021 年百度之星·程序设计大赛 - 初赛二
1004题意:给出数列a,数x初始为0,依次加,当时x变为0,不断对x进行操作,问第一次在第几轮,或判断无法满足。如果没有将小于0的x变为0这一操作,答案很容易求,并且有一个很明显的感觉,当x一轮一轮不断变大时,情况的出现次数会越来越少,直至不会出现。我们沿着这个方向思考我们先模拟一下操作令b为a的前缀和,那么第一幅图为b的图像,这不是最终结果,他没有改变小于0的x那么考虑每次把负的x提到0,都加上了一个数,如图中的红色所示,我们将他们都移到第一个图(黄色部分),就可以清晰地发现,这
2021-08-07 20:29:53
398
原创 2021 年百度之星·程序设计大赛 - 初赛一
1001题意:给出一个无向图,其中边有两种,附魔和没附魔的。初始在1号点,状态为没附魔,每次会等概率随机挑选一条边走,当经过附魔边时,状态会改变(附魔->没附魔,没附魔->附魔),问走k步后到达n号点且状态为附魔的概率。比赛时,我错误的认为走出每条路径的概率都是相等的,一个反例如下:路径1-2-5的概率为,而路径1-3-5的概率为首先讲一下官方题解做法:最终答案为:走k步到n且状态为附魔的概率/任意走k步的概率显然任意走k步的概率为1,所以只需求出分子。我们发现.
2021-08-01 08:54:35
1945
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人