「考试」联赛模拟40-45,晚间小测4-9
40.4 简单题#
怎么这么多“简单题”啊
发现其实就是要一棵最小生成树,考虑kruskalkruskal的过程,那么加边时如果有边加不进去了,那么以这条边两个端点为端点的链上所有边的答案都对这条边取minmin,而这条边的答案就是这条链上的最大值
需要树链的区间修改,查maxmax操作,树链剖分即可
41.1 四个质数的和#
首先1e51e5以内只有大约一万个质数,但n4n4枚举肯定不行废话
选出质数的数量只有4个,可以考虑枚举每两个质数的和记录方案数,4=2+24=2+2,那么再枚举所有的两个质数的和,用询问减去它,再查,再相乘即可
因为可以将和大于询问的情况剪掉,所以预处理实际跑不满O(n2)O(n2),就可以通过了
41.2 匹配最大异或#
一个非常优美的性质:把00~2n−12n−1从2n−12n−1处分成两部分,那么去掉所有数的二进制最高位,剩下两部分是完全相同的
考虑当前正在决定的一位应该放0还是1,
浙公网安备 33010602011771号