为啥这个一向很讨厌ds题的人会在临考前做根号题呢,懂得都懂.
(因为上课只有想这种不用脑子的东西才能想出来)
10月15日 CF edu F题
不知道这题我为啥要想这么久,看来是应该好好休息一下了
大意就是单点修改,询问[l,r]区间每个数的出现次数是否都是k的倍数
第一,要知道分块是可以O(1)区间查询 O(sqrt)单点修改的
第二,要知道分块是可以O(1)区间修改,O(sqrt)区间查询的
首先,一年半前这个题的不带修弱化版本我是在牛客上看到过的,就是从左往右数,把每个颜色的第c次出现的位置, 赋上权值c%k.这样相当于把几种颜色变成了个不断更新的数组,问这个数组在l-1时刻和在r时刻是否相等,这个当然是哈希.
然后对于出现次数cnt<=sqrt n的颜色,自然是可以继续使用这个方法的.因为对于这些颜色,k<= sqrt n.枚举每个可能被问到的k,修改的时候把这个点后面的哈希值加同一个数.需要差分,用第二种分块
对于出现次数>=sqrt n的,由于不超过sqrt n个,可以直接在询问时挨个算区间内出现次数,用分块实现sqrt(n)的单点修改和O(1)的区间查询.用第一种分块就行了.
细节比较繁琐,但挺好卡过去的......
ZJOI2022 众数
这个是信息课和午休的时候想的,想了很久,感觉很妙
我们枚举任意的(i,j),i是外众数,j是内众数.
显然,只要i,j任何一方的出现次数>=sqrt 都是可以用前缀和做掉的,因为最大子段和可以缩成相邻的正数负数来做,大大减少了数量.
所以只要考虑双方都<=sqrt的情况了.所以先把这些数拿出来形成一个新的序列.这些数的出现次数小,可以枚举选取的区间(区间两端点必然是这个外众数).需要求区间众数吗?大可不必,只要按顺序枚举区间左端点l,在向右跳到下一个相同颜色的过程中,每个不同颜色出现次数的序列会发生变化.移动左端点的过程中,可以暴力更新这个在不同时刻的序列,只要在每个位置存储sqrt个数(变成了一个矩阵),第i个数表示在[l,当前位置]中出现次数为i的有几个,每次修改就相当于把这个矩阵的某一行减去1,下一行加1,总共进行不超过sqrt种修改即可.好想亲自体验一下省选啊,上次参加已经是初二了,当年又不好好打,留给我的机会不多了,一定要抓住啊!!!不要辜负我多年来的汗水和泪水啊!!!
CF1716E:
因为换的块都是整的,所以两次重复操作可以抵消
同时这个题还是蛮经典的,转成左右子树交换的形式
搜2^18种状态,若某层为1则换掉左右子树,线段树区间合并
但不知道场上为啥过不了
似乎神九也是这么写的
其实场上想了很久的根号做法,但一直不知道<=9的k咋搞
等一手题解
好吧题解也是这么做的
CF1716F:
把指数拆开
交换前后项
套组合意义
NC某个题:
题意是给m个条件形如[L,R]是回文串,问最后能判断几个i满足[1..i]==[n-i+1..n]
并查集常规要N^2
把串倒过来接在后面,前一段连后一段,连的边就变成顺的
目标是把每个元素都连到各自的一个集合里
于是把连的区间二进制分解成log个,连到反串对应区间
类似线段树pushdown,把大区间步步分成两个子区间,与对应的反串合并。
因为一个区间只用最后合并到一个集合里,所以每个点pushdown只要一次,就把时间省下来了。
不平凡的线段树优化建图
很久之前在医院里口胡了个 @血色黄昏 发的题,原题太水我给它升级了一下,今天难得有得休息,就写一下
话说我tm比正常新高一还忙!(
给定a1...an (ai∈INT)每次可以随意把序列中一个数修改到[1,Ri](1<=i<=q,操作独立,Ri∈INT)范围内,每次对询问的Ri回答gcd>1的原序列子区间最多能修改到多少个。
n q 均在1e5级别,而ai,Ri太大,于是思路就很清晰了
首先考虑单独询问怎么做
显然先线段树一波求出前后缀的答案,然后算包含某个点的gcd区间。
因为从一个点开始取gcd,只有均摊 ln n个取值 ,用尺取法算出每个前缀gcd对应后缀最多取到哪里。 单log可以解决
询问有q次,把询问排序以后直接暴力推指针会T。
但每个点其实只有一个ln ^ 2个拐点的分段函数,于是把这些拐点放到vector里做扫描线。按顺序加、删、求最大值。复杂度 O (n ln^2) 常数较大,实际效果类似于2log ,太慢了,HG的百年老机只能勉强卡过。
事实上,初始时序列可以砍成几段gcd>1的段,整段整段跳,然后对断点单独求,快很多。HG机上都可以跑到2e5,本地1e6无压力。
不要问我为什么这种垃圾题都要写,我不在HG,是一叶在群里问的,太久没做题了才有点新鲜感,结果一看真tm无脑题,怪不得HGOI这么屑
怪不得我配不上学OI!!!
标签:gcd,分块,线段,sqrt,修改,区间,数据结构 From: https://www.cnblogs.com/anticipator/p/17548212.html