### 终于想出来哪里错了
```c
void insert(int &u,int v,int t,int num)
{
u=++tot; cnt[u]=cnt[v]+1;
if (t<0) return;
bool x=(1<<t) & num;
ch[u][x^1]=ch[v][x^1];
insert(ch[u][x],ch[v][x],t-1,num);
}
```
### insert应该这样
## 可是还有一个奇妙的问题:为什么不开O2就WA1个点+TLE1个点,开了O2就过了??
by oxbby @ 2019-07-21 12:03:13
你的sum开小了吧,,,
by Akura @ 2019-09-18 14:43:18