省选模拟75

A. 比特币

  发现对于一个固定的k,将所有数对2^(k+1)取模,第k位为1的数对应的应该是一段连续区间。

  那么对于每一个k维护一个数据结构,同时维护全局的增加量,就可以得到应该查询的对应区间。然后直接查询即可。

 

B. 测试

  根据约数个数和的结论,不难得到$d(ijk)=\sum\limits_{x|i} \sum\limits_{y|j} \sum\limits_{z|k} [(i,j)==1] [(i,j)==1] [(j,k)==1]$。

  然后对这三个分别进行莫比乌斯反演,然后发现实际上仍然要枚举三个数,但是这样的三个数的限制多了很多。

  考虑对于这个东西进行三元环计数,那么只要求出来所有的边即可。发现由于限制很多,所以实际的边数并不多,可以暴力。

  然后三元环可以得到三个数互不相等的贡献,对于其他部分暴力统计即可。

  搜索边的的时候需要加入一些剪枝。

 

C. 光图

  对于k次方,考虑用下降幂和组合数表示通常幂,然后就变成了求出从所有连通块中选出若干个的方案数。

  然后考虑暴力求出来i个点形成j个连通块的方案数,首先连通图个数可以用多项式ln简单求出,然后dp转移实际上就是两个多项式卷积的形式。

  然后就可以枚举这若干个连通块在所有图中出现的次数,发现仍然是卷积的形式,继续预处理出来即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章