题意:
初始数列,每个数都在1~k以内
支持两种操作:1.修改一个数,修改后的数在1~k内
2.查询一个最短包含1~k的序列的长度
查询100000,数列100000,k是50
题解
考虑压缩状态到一个二进制串。
用一个线段树。每个点维护前缀的状态,后缀的状态。被包含的最短的
然后如果暴力合并子树信息,这样是的,其实有用的状态不超过个。那么时间复杂度就是
合并子树的时候尺取。
就是。卡卡卡卡卡常大概好像就过了
时间: 2024-10-12 09:01:19
初始数列,每个数都在1~k以内
支持两种操作:1.修改一个数,修改后的数在1~k内
2.查询一个最短包含1~k的序列的长度
查询100000,数列100000,k是50
考虑压缩状态到一个二进制串。
用一个线段树。每个点维护前缀的状态,后缀的状态。被包含的最短的
然后如果暴力合并子树信息,这样是的,其实有用的状态不超过个。那么时间复杂度就是
合并子树的时候尺取。
就是。卡卡卡卡卡常大概好像就过了