南京3月
津津的存钱计划
min的max问题,权值线段树,线段树分治
求 。
当 时,。因此在线段树上以对1存钱罐以 为下标,对2存
钱罐以 为下标,塞入1、2存钱罐在左右区间时的贡献:左区间的下标小于右区间,因此左区间的 1硬币
和右区间的 2 的硬币满足 ,所以 可以贡献给答案。所以 1 硬币在左区间的贡献是
,在右区间是 。线段树上维护 1、2存钱罐在左右区间的贡献最小值即可。
铲雪
区间平方
次平方后 , 存在循环节,从 起跟 开始相同,长度为24。
采用线段树维护。
t[k].f[i]:k 所对应的区间进行 i 步操作后的区间和,每次查询将 f[0] 计入答案。
push_up:
for i:0 to 47
t[k].f[i]=t[lc].f[i]+t[rc].f[i]
push_down:
d=tag,for i:0 to 47
if(i+d<48) cur_t[k].f[i]=pre_t[k].f[i+d]
else cur_t[k].f[i]=pre_t[k].f[23+(i+d-23)%24]//将23视为原点
抽卡

浙公网安备 33010602011771号