博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CF888G Xor-MST
阅读量:5264 次
发布时间:2019-06-14

本文共 606 字,大约阅读时间需要 2 分钟。

我们只需要把所有01串按照第一位大小分类,然后把其中一类建成一棵字典树,再把第二类的每个数字丢进字典树里暴力查找,寻找第一位不同的两堆树连一条边的最小权值,把这个值累加进答案,再分治处理每类数即可。

因为一共需要处理\(\log n\)次,每次处理\(n\)个数,处理每个数复杂度为\(\log n\)。总复杂度\(O(n\log ^2n)\)

代码:

#include
#include
#include
#include
#include
#include
#define ll long long#define maxn 200500#define node vector
using namespace std;int n,ch[maxn*20][2],ori[maxn],tot;void insert(int num) { int p=30,now=0; while(p>=0) { int digit=0; if((1<
=0) { int digit=0; if(num&(1<

1669439-20190730190703785-475087405.jpg

转载于:https://www.cnblogs.com/GavinZheng/p/11272107.html

你可能感兴趣的文章
30岁菜鸟涛学习VB.net 第四天
查看>>
2017.4.10-morning
查看>>
php7.0支持调用lua脚本
查看>>
Fiddler可以支持Websocket抓包了
查看>>
判断 切换
查看>>
ocrosoft Contest1316 - 信奥编程之路~~~~~第三关 问题 C: 挂盐水
查看>>
ACM_并查集
查看>>
Centos7.x破解密码
查看>>
Beta答辩总结
查看>>
MATLAB学习笔记10-10-24
查看>>
个人冲刺1
查看>>
A Tour of C++(Chapter 2 of The C++ Programming Language)
查看>>
规定元素宽高,内容超出则显示滚动条,内容不超出则隐藏滚动条。
查看>>
ADO.NET Entity Framework 学习(1)
查看>>
函数的传参.命名空间及关键字global和nonlocal
查看>>
模板方法(template pattern)
查看>>
js的基础知识
查看>>
python selenium实现文件、图片上传
查看>>
Junit4入门
查看>>
必须掌握的八个【cmd 命令行】
查看>>