其他分享
首页 > 其他分享> > 「UOJ751」神隐

「UOJ751」神隐

作者:互联网

题目

点这里看题目。

分析

交互题好难啊.jpg

我们先来分析一下怎么才能找出来一条边。假如编号为 \(k\) 的边被加入到 \(G\) 中的询问集合为 \(Q_k\),则询问必须满足对于任意的存在公共点的 \(e_1,e_2\),\(Q_{e_1},Q_{e_2}\) 之间不存在包含关系。否则我们无法准确地确定边的端点。

但是,我们并不知道哪些边存在公共点,所以对于任意两条边,它们的 \(Q\) 都必须不同

这个构造还是比较经典的。第一种方法是二进制分组,需要 \(2\lceil\log_2(n-1)\rceil\) 次询问;第二种方法是重标号(所有的标号所含的 \(1\) 的位数相同)之后二进制分组,需要的询问次数略大于 \(\log_2(n-1)\)。

Remark.

如果分析不出来这里的性质,该怎么想到二进制分组?

数据范围明示 \(\log n\) 次询问,能够达到这个询问次数的策略不多,其实就只有:二分搜索、分治、随机化折半、二进制分组等等。全部试一遍,只要不搞忘就不怕想不到

标签:const,神隐,rep,UOJ751,int,MAXN,hgst,col
来源: https://www.cnblogs.com/crashed/p/16572732.html