首页 > [PKUWC2018]随机算法

[PKUWC2018]随机算法

题意:https://loj.ac/problem/2540

给定一个图(n<=20),定义一个求最大独立集的随机化算法

产生一个排列,依次加入,能加入就加入

求得到最大独立集的概率

 

loj2540 「PKUWC 2018」随机算法

本质就是计数题

每个点有三种状态:考虑过且在独立集中,考虑过未在独立集中,未考虑

本来在集合里的点不能知道有哪些,而且不能加入的点的排列也不好确定。

一个好的方法是:把考虑过的点放在一起

然后在加入一个点的时候,把其他不能加入的点都考虑上,并处理方案数。

 

设f[i][S]表示,独立集大小为i,不能再选择的点集合是S的方案数

每次选择一个能加入的点j,然后更新能选择的集合和集合大小,顺便处理排除掉的点的方案数

就是一个排列,其实就是把后面尚未考虑的位置加入一下,

注意这里不用考虑j的位置,j位置钦定为从前往后第一个能选择的位置

i从n往下找到第一个方案数不是0的f[k][全集]

最后乘上n!的逆元即可

O(n^2*2^n)传说可过

 

对于不可以选择的集合S,对应的最大独立集确定

mxS记录S集合最大独立集

所以类似最短路条数,mxS更新的时候,把方案数设成0

这样也能求出最大独立集方案数。

O(n*2^n)

 

思路有点类似某次模拟赛T3,我在加入一个数的时候,就把能产生的贡献和影响都计算上

因为只有在枚举这个转移的时候才知道加入的哪个点,这样不用考虑加入进去的点都是谁了。

也方便处理不能选择的那些点的排列。

 

(有了第二种做法,一般的20个点的最大独立集也可以做了,20个点的最大独立集方案数也可以求)

转载于:https://www.cnblogs.com/Miracevin/p/10212265.html

更多相关:

  • 凉皮是陕西著名的美食,现在成了全国性的美食,大部分人都爱吃,而且一年四季都适合食用,凉皮的做法不难,只是需要时间和耐心,就能做的非常爽口,今天教给大家专门用于凉皮的辣椒油做法和配方。凉皮调料水的做法:【大料水的用料】:草果、花椒、香叶、桂皮、肉蔻、姜片、小茴香【辣椒油的用料】:辣椒粉、盐、白芝麻【蒜水的用料】:蒜、盐、凉开水【麻酱汁的...

  • 首先,symfony2是一个松散的,独立的,有组织严密的php组件的集合,它可以为你解决一些web开发中一般性的问题。 其次,基于这些组件,php又可以作为一个独立web框架使用。   转载于:https://www.cnblogs.com/ljcphper/p/4272883.html...

  • BZOJ3930: [CQOI2015]选数 Description  我们知道,从区间[L,H](L和H为整数)中选取N个整数,总共有(H-L+1)^N种方案。 小z很好奇这样选出的数的最大公约数的规律,他决定对每种方案选出的N个整数都求一次最大公约数,以便进一步研究。 然而他很快发现工作量太大了,于是向你寻求帮助。 你的任务很简...

  • 看到网上有一些教程,他们的代码截图,不是VS默认的白底黑字,觉得挺好看,就也把自己的VS鼓捣了一把: 使用的是现成的配色方案,试了好几种,就觉得这个看着舒服son-of-obsidian.vssettings 你可以去Studiostyles下载更多的配色方案。 下载好的配色方案,是vssettings格式的。 导入到VS步骤:  ...

  • 为什么80%的码农都做不了架构师?>>>    在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案。由于时间有限,本文不会深入。 笔者遇到的问题是Js调用WebAPI中的数据进行跨域的场景。涉及若干跨域方案: 方案1:jsonp+回调 方案2:Microsoft.AspNet.WebA...