首页 > 代码库 > [COCI]coci2015/2016 nekameleoni

[COCI]coci2015/2016 nekameleoni

题意:

初始数列,每个数都在1~k以内

支持两种操作:1.修改一个数,修改后的数在1~k内

                          2.查询一个最短包含1~k的序列的长度

查询100000,数列100000,k是50

题解

考虑压缩状态到一个二进制串。

用一个线段树。每个点维护前缀的状态,后缀的状态。被包含的最短的

然后如果暴力合并子树信息,这样是技术分享的,其实有用的状态不超过技术分享个。那么时间复杂度就是技术分享

合并子树的时候尺取。

就是技术分享。卡卡卡卡卡常大概好像就过了

[COCI]coci2015/2016 nekameleoni