P1113 同颜色询问】的更多相关文章

题目描述:https://www.cnblogs.com/problems/p/11789930.html 题目链接:http://codedecision.com/problem/1113 这道题目涉及的一个知识点是它最多有 \(n = 10^5\) 种颜色,而我们需要每种颜色动态去建树. 那么,如果按照传统方法去建一棵线段树,每一棵树都需要 \(n \times 4\) 个节点,那么总的节点数就会达到 \(n^2 \times 4 = 4 \times 10^{10}\) 数量级,是不能承受…
题目描述 现在有一个包含 \(n\) 个元素的数组,它的元素的编号从 \(1\) 到 \(n\) . 每一个元素都有一个初始的颜色 \(C_i\) 以及数值 \(W_i\) . 这个数组支持 \(4\) 种操作: CC x c:第 x 个元素的颜色被修改成了 c : CW x w:第 x 个元素的数值被修改成了 w : QS x y:查询从第 x 个元素开始到第 y 个元素结束的所有颜色等于 C_x 的数值之和: QM x y:查询从第 x 个元素开始到第 y 个元素结束的所有颜色等于 C_x…
题解: 两道几乎差不多的题(所以说当年sdoi考了道原题) 都是将树上一段改为新颜色询问颜色数目 可以把改成新颜色这个操作看成access操作 然后通过线段树+dfs序来维护 另外换根了为什么还可以用dfs序来维护 我们观察一下会发现 1.当根在x当中,就是除了根那边那块 2.不在的话就是原先的子树…
\(emmm\)学\(lct\)有几天了,大概整理一下这东西的题单吧 (部分参考flashhu的博客) 基础操作 [洛谷P1501Tree II] 题意 给定一棵树,要求支持 链加,删边加边,链乘,询问链权值 四种操作. Sol: 大概是 \(lct\) 上维护加和乘标记的板子题 [SHOI2014 三叉神经树] 题意 给定一棵 $ 3\times n$ 个节点的树,编号在 \(1\sim n\) 的节点有且仅有三个儿子,编号在\(n+1\sim 3\times n\)的节点没有儿子.节点的值只…
Description 捉迷藏 Jiajia和Wind是一对恩爱的夫妻,并且他们有很多孩子.某天,Jiajia.Wind和孩子们决定在家里玩捉迷藏游戏.他们的家很大且构造很奇特,由N个屋子和N-1条双向走廊组成,这N-1条走廊的分布使得任意两个屋子都互相可达.游戏是这样进行的,孩子们负责躲藏,Jiajia负责找,而Wind负责操纵这N个屋子的灯.在起初的时候,所有的灯都没有被打开.每一次,孩子们只会躲藏在没有开灯的房间中,但是为了增加刺激性,孩子们会要求打开某个房间的电灯或者关闭某个房间的电灯.…
数字表格 \(T\)次询问,每次给出\(n,m(n,m\le 10^6)\),\(f\)为斐波那契数列,\(f_0=0,f_1=1\),求: \[ \prod _{i=1}^n\prod _{j=1}^mf[gcd(i,j)] \] 题解做法 这个题的思路很妙啊. 看到那个\(gcd\),又注意到前面是个连乘,我们可以构造函数\(g(x)\),使得: \[ f(x)=\prod _{d|x}g(d) \] 那么: \[ \begin{aligned} ans&=\prod _{i=1}^n\pr…
1. 给你个环状字符串,问从哪个地方拆开能使它的字典序最小. 先预处理任意子串的哈希值. 然后枚举拆点,将它与当前最优的拆点比较谁更优(就是从哪拆的字典序更小),具体方法是二分+哈希找出两串最长的相同前缀(2018.10.21 update:也可以倍增预处理哈希值,然后),然后比较这个前缀后的第一个字符,就判断出谁的字典序更小了. 2. $M\le 10^9,x=1,A_i\le 10^9,Q\le 10^5$.有两种操作,一种是 $x*=A_i$,一种是求$x/A_k\mod M$($k$为一…
题目 有\(m\)条线段,每条线段为\([l_i,r_i]\),每条线段可以是黑/白色 有些线段已经被染色,有些需要被确定颜色 询问是否存在一种染色方案,使得对于每一个位置\(i\),覆盖它的线段黑白个数差的绝对值不超过1 \(1 \le m \le 10^5 , n \le 10^9\) 题解 将每条线段变成\([l_i-0.5,r_i+0.5]\) 对于一个合法的方案可以加一些线段使得黑白覆盖的个数相等 对\(l_i\)向\(r_i\)连一条边,如果把染色看成定向 合法的方案满足在相邻两个点…
题目链接 problem 给出一个无向图,每条边有一种颜色.每种颜色都构成一个森林.需要完成以下操作. 修改点权 修改边的颜色 询问某种颜色的森林中某条路径上点权最大值 solution 颜色数量不超过10,所以对于每种颜色建一棵LCT. 修改点权,就对每种颜色的LCT都修改. 修改边的颜色,就将原来颜色的LCT中这条边断掉,在新颜色的LCT中加上.这里需要判断加入边后是否还满足是森林,所以需要统计每个点连出去的各种颜色点的数量.还要判断是否会形成环,只要判断原来两点是否在同一棵树中. 询问操作…
正题 题目链接:https://www.luogu.com.cn/problem/P3313 题目大意 \(n\)个点的一棵树,每个点有一个颜色和权值,有操作 修改一个点的权值 修改一个点的颜色 询问一条路径的某颜色的权值和 询问一条路径的某颜色的权值最大值 解题思路 询问路径直接树剖先,然后对于每个颜色开一个动态开点的线段树,单点修改所以不会炸空间. 然后就是树链剖分的板子了. 时间复杂度\(O(n\log^2n )\) code #include<cstdio> #include<c…