首页 > 其他 > 详细

几道随机化题

时间:2014-07-15 09:20:14      阅读:338      评论:0      收藏:0      [点我收藏+]

随机大法好,乱搞出奇迹。

 

pro:给一个n*m的网格,每个格子上有一种颜色或障碍,求最小的不含障碍的联通块包含至少k个颜色。

n,m<=100 color<=n*m k<=5

 

sol:对于color比较小的情况,比如color=k,就是一个裸的斯坦纳树。然后我们每次将所有颜色随机分到k个盒子里,一个盒子都染成相同颜色,然后按上述方法做,取最小值。每次做解是可行的,是最优解的情况是刚好随机到最后答案的颜色在不同盒子里,大概就是k!/(k^k)。

 

pro:给一张无向联通图,问删去两条边使图不连通的方案数。 n,m<=10^5

 

sol:先搞一颗生成树,对于所有非树边随机一个权值,然后将其覆盖的树边都xor上这个值,最后拥有相同权值的边对或者其中有权值是0的(割边)就是可行的。

但这题是有确定性做法的。

 

pro:给一个多重集合的比较方法:看最小的出现次数不相同的元素在哪里就哪边小。给一个序列,问其中连续子序列形成的多重集合的第k大(相同的也算多次)。(n<=10^5,k<=n*(n+1)/2)

 

sol:如果给一个集合,求<=它的个数是比较好做的。注意到左端点固定,集合大小随右端点是递增的。用堆维护即可。

然后每次在所有可行区间里随机找一个区间作为二分界,然后算可行的右端点范围。就没了。期望是O(Nlog^2N)的。

 

pro:求最大团。

 

sol:随机一个顶点序列,然后贪心能加就加。可以用bitset优化。

     今年WF有一题,不过那题有确定性算法,不过这样居然能过!

 

CF也有不少用随机化的思想的题,感觉都挺赞的。

444B DZY Loves FFT

442E Gena and Second Distance

#213 Div1D Ghd

 

 

几道随机化题,布布扣,bubuko.com

几道随机化题

原文:http://www.cnblogs.com/oldmanren/p/3841513.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!