摘要: "题目" 正解 这题一看也是不能写的题目…… 用个平衡树来维护。 平衡树维护的是一个$Trie$的序列。每个$Trie$表示这段区间中所有数都会排序一遍。 进行各种操作时,首先会将至多两个节点的$Trie$分裂。分裂$Trie$会新增$O(\lg n)$个节点。 然后将整段区间旋到一棵子树内,然后打 阅读全文
posted @ 2020-01-28 20:34 jz_597 阅读(97) 评论(0) 推荐(0) 编辑
摘要: "题目" 正解 一听到正解是NTT,我心态崩了。 我特么知道是NTT都不知道该怎么做!哪里像个卷积了? 好吧,是我孤陋寡闻…… 设两个字符串分别为$A$和$B$ 可以考虑试着计算出$A$每个子串和$B$的相似度(就是位置相同、字母相同的个数),直接统计就完事了。 看到字符集这么小,就可以对于每个字母 阅读全文
posted @ 2020-01-28 20:32 jz_597 阅读(128) 评论(0) 推荐(0) 编辑
摘要: "题目" 正解 这题也不是给人写出来的…… 先不要考虑操作二。 有一种比较新奇的思路:将点的颜色挂在边上,然后搞出个边的连通块。 这些连通块的维护是很舒服的,直接上数据结构即可。 考虑边的连通块和点的连通块的关系。 假如有$x$和$y$和$z$三个点相连,$x$为$y$父亲,$y$为$z$父亲。 $ 阅读全文
posted @ 2020-01-28 20:30 jz_597 阅读(160) 评论(0) 推荐(0) 编辑
摘要: "题目" 正解 其实在比赛时我都没有想到只有第五个操作的问题的不用莫队的方法…… 好自卑…… 其实,只要记录一下每个数前面与这个数相同的点的位置。 将数列变成个二维平面,而询问就是某个矩形内的点数。 容易发现其实第一个操作和第五个操作没有多少区别,就是维护零次方和、一次方和、二次方和、三次方和就够了 阅读全文
posted @ 2020-01-28 20:27 jz_597 阅读(147) 评论(0) 推荐(0) 编辑
摘要: "题目" 正解 一种很套路的笛卡尔树DP…… 看着那个绝对值很烦,于是我们考虑一种全新的转移方式。 考虑把数字从小到大,一个一个插入当前序列的空隙中。 于是我们就可以知道这个数字对答案的贡献。 比如,如果当前它两边没有数字,那么系数就是$ 2$, 如果一边有数字,系数就是$+1 1$也就是$0$, 阅读全文
posted @ 2020-01-28 20:23 jz_597 阅读(179) 评论(0) 推荐(0) 编辑
摘要: "题目" 由于时间过于久远,而且题面本身也很清晰,所以就懒得另外叙述题目大意了(还有思考历程)。 正解 先考虑一条链的情况(长度为奇数,这里的长度是指点的数量): 如果根在中点,先手无论移到哪里,后手都可以移到它的对称点去。 此时先手必败; 如果根不在中点,先手只要一开始移到中点,先手就赢了。 若长 阅读全文
posted @ 2020-01-28 20:21 jz_597 阅读(134) 评论(0) 推荐(0) 编辑