7.24 day1数据结构
day1数据结构考试
整场比赛打完了,没用数据结构?!
结果:100+30+40+30=200
T1 正解
异或好性质,100000以下最多128个因数
枚举每个右端点,将前缀异或塞进桶里,同时枚举因数,看有几个和自己对应的前缀异或,直接计数即可
T2 暴力
要输出分数,考场实在没办法,用浮点数做01分数规划,最后枚举分母(只有r-l+1种),混了30(期望50),发现是二分边界估计错了
简要:求区间最大平均数
结论是长度不会超过3,考场其实猜到了(证了一半),但是用来验证结论的暴力挂了,痛失70
只有2种长度,线段树维护边界长度为1,2的一下即可
T3 暴力
考场时插入O(1),询问O(n)
分块,数据范围已经明说了
先尝试把值域缩小到0-1,分块,维护\(A_x,B_x,C_x\)三个值
表示区间中所有颜色为x到区间左端点贡献和,所有颜色为x到区间右端点贡献和,区间内颜色x个数
O(1)合并,修改暴力重构
时间复杂度\(O(n\sqrt n)\)
T4 暴力
模拟题意就有30分,可能常数比较大的话就只有20分
内向基环树
做法1:
对于连到环上的树,用树链剖分分出重链,对每个鸹记\(f_x\)为还有几次跳到下一条重链
对于在环上的鸹,记一下相对位置与时间即可
时间复杂度:\(O(n\log^2n)\)