qbxt

d1:t1暴力

t2一开始看成l-r里随便选单个数异或小于x的数了,这个可以倍增归约二分套线段树,复杂度一个log

考虑对c排序,每次找差量,统计答案

对原序列差分,问题转化为每次异或两个点

然后我们发现除非两个点都被更新过否则直接乘

如果两个都更新过那么就找大的那个乘起来

然后你发现wa了,错误原因待补

upd:被叉姐hack了,相邻的时候会被hack

所以这个也要单独算贡献,从图论上考虑就是连通块,

然后我们考虑拆位,每一位是互不影响的,然后有个问题就是低位联通时高位不一定联通,所以要拆位,所以就跟拆位的做法一样了

然后一个很自然的套路是说对两个数怎么怎么样他的奇偶性不会变

所以拿个并查集瞎搞搞就行了,线性基纯属胡扯,图论纯属胡扯,生成树纯属胡扯

t3垃圾树上问题,noip以内就只有lca,树剖,dsu三个要么就是直径什么的性质

upd:我信你个鬼,还有一类是补集的考察,常见套路是扫描,双指针,dfs 套set

然后我们发现这是个dsu的形式,直接dsu,拿个set或者线段树合并,双log,没啥意思

t4

第一个部分分:两个点之间连重边

第二个部分分:k个点,每两个点连两条边

正解:随机化那个纯属瞎扯,不想写

考虑构造一个菊花图,然后对那些点顺次连边再往外扩展一点(这个我在考场上想到了)

然后考虑构造套路之二进制分组,拆出来的位就让那个‘根’向外连边

妙妙屋

d2t1:二分,贪心,跑路的链版本,需要注意的是不要想麻烦了,越麻烦分越低

t2:咕咕咕

t3:看错题了好几回,呜呜呜

这一看就很dp嘛,一眼01背包

然后考虑怎么优化这个背包

我们观察到每个点每种度数得到的贡献都是一定的

然后我们发现一个很鬼畜的事情就是每种物品体积一定价值不一定,这有什么用呢

我们发现可以贪心,我肯定选价值大的啊,排序,然后dp,完了

注意一点是根节点没有父亲,需要特判

t4:恶心题假如我们做过CF1017G的话我们知道这类题有个套路就是说修改很复杂,询问很简单我们就要想到平衡复杂度

再看我们这老三样,树剖,dsu,lca然后我们发现这里面没有,所以考虑这不是个树上问题,这是个披着树上问题皮的数据结构题!

继续分析性质,我们发现这个东西看起来很能fhq,但是有个问题就是说需要离线,没法做

而光看时间的话我们也有一个做法是主席树,上uoj问了一下主席树可以用区间修改+可撤销实现,但空间复杂度炸了

我们看到所有>=k的形式我们就要想到一个套路是kruscal重构树,换句话说就是买一次终身保养(大雾)

但是可能对祖先产生贡献,这个地方我想了好久

看起来似乎可以线段树分治然后到叶子时用线段树再维护,但不pratical

我们不妨暴力一点,加入一维dfn,然后转化成了矩形加单点查

二维差分假设(a,b)(c,d)

(a,b)++

(a,d+1)--

(c+1,b)--

(c,d)++

然后问题转化为单点加前缀矩形求和

uoj给出了二进制分组主席树,二维树状数组,kdt等做法

但我们发现他是个待修二维数点也就是三维偏序->陌上花开!

然后就可以kdt,bitset,cdq实现了

怎么说呢,这个题真的没太意思,板板,但很有可能掉沟里

d3:

t1:fat node,没意思

t2:一看n这么大,k这么小,一眼虚树,数据范围小,可以考虑虚树

然后暴力就好了,复杂度???正解:考虑每个点加进去的贡献是个o(1)的增量,推推柿子即可,lca可预处理,复杂度(2^k)

t3:暴力,由于常数极小可过

正解:我们知道一个括号序列合法两个条件是左右括号数量相等,任意时刻左括号数量大于等于右括号

第二个条件平凡,前缀和后二分出边界

第一个条件同样平凡,我们预处理出每种取值的vector,查的时候二分,或者1e5棵动态开点线段树

t4:咕咕咕

d4:t1暴力,考虑枚举,然后特判,特判越多复杂度越低

t2:一眼并查集,我们发现有个奇怪的地方就是最短路相当于dp,最小生成树相当于贪心,而如果出现2^k这种东西不是kruscal就是重构树

建出树后随便统计一下就好了,并查集由于你不知道每个点会怎么走跨过新加入的边所以不对

t3:dp,考虑前i被杀,还有k次随机方案数,或者还剩i个,其中的第j个活到最后,然后根据mod统计

t4:发现第i个只跟第i-1个有关,前缀和后设s_i是a_i的前缀和,那么对于第k只和第k+1只皮克敏那么它们之间的时间差为max{b_k*s_i-b_{k+1}s_{i-1}}然后这个形式是叉积的形式然后只需考虑在下凸壳上的(s_i,s_{i-1})

d5

t1:暴力,1e5的话拆项计算贡献

t2:构造

t3:离线,维护直径,没了

t4:拆边的贡献,分类讨论形态

d6:

t1:一眼链表,边界处理三小时

t2:没看,不知道,不想知道

t3:考虑一个点被加入要么是之前赋值过,要么是跟路径某一个端点之间的值等于该端点的值

然后不会退柿子,觉得如果不拆这个柿子就是复杂度瓶颈了

想的不错,但是你知道柿子怎么拆吗

就是撤销最早的点加入一个新点!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊阿

这么zhizhang的问题为什么没想到,然后拿个set瞎维护不就好了吗

t4:不知道,不想知道

posted @ 2021-10-01 17:54  maruize  阅读(110)  评论(0)    收藏  举报