永远不要相信出题人诸如“保证图联通”之类的鬼话。
T1
最优情况一定为从LR最高的不同位以下全是1
T2
折半搜索
T3
1.我算法不是mlog^2m,最坏情况下mlogm再乘个根号m,
考试的时候没证清楚,我yy他是log了
3.鸣谢skyh把我的算法卡成$msqrt{m}logm$
我在想什么:
题意就是把三元环去掉
而且这数据范围,bitset估计是萎了(实际并没有)
能不能尝试扔掉以前的三元环计数套路
先枚举每条边再说。
那么接下来是统计所有与这条边有关的联合权值
那么另一条边一定连在两个端点旁边,可以枚举端点的每条边
或者保留每个点的总信息,只把三元环弄掉。
怎么做的:
设这个边为a-b
暴扫就完戏了,如果出现三元环的话
那么三元环的另一个顶点一定与这两个端点都相连
那我只枚举度数小的端点a相连的点u,二分在另一个点b的度数里查找
如果有就出现了三元环。
(上面这个过程复杂度待定)
那么如果没有与这个点u出现三元环,这就是一条合法路径
可以用这个点u更新b
如果出现了三元环,不仅不能更新答案
还要在b的数据结构里把这个点暂时删了
枚举完毕后,在b的数据结构里直接查出a的结果
复杂度?
明显在括号后面套了一个log,
括号前面的过程,重金悬赏hacker把他卡到最劣复杂度。(有人卡出更劣复杂度就可以抱走一个skyh)
擂台:
skyh:构造一个点数为$sqrt{m}$的完全图,复杂度卡成$msqrt{m}logm$