元素周期表

个网格,事先标记个位置。

操作:如果都被标记了(),那么就可以标记

你需要在这个个标记的基础上再加尽量少的标记,使得执行上述操作若干次可以标记所有格子。

并查集 二分图

当成二分图的一条边。那么上文中的显然是在一个连通块内的。

一次操作不会改变连通块数量。

操作可以让连通块变满。

因此我们需要最少的标记把所有连通块连在一起。

统计连通块数量即可。

代码

一个序列,初始时只有一个。每次可以选择一个区间,把它们的和加到序列的末尾。问最少多少次操作可以构造出数字

多组询问。

一开始序列的和是。注意到你可以一次操作

  • 让序列的和乘 2
  • 让序列的和乘 2 减 1

因此我们想办法让序列总和为,再操作一次就可以得到了。

容易证明这是答案的下界。

时间复杂度

代码