bzoj2243专题

树链剖分+线段树【SDOI2011】 bzoj2243 染色

题目大意: 给一棵树,每个节点有一个颜色。写一个程序支持把两个点路径上的所有点染成一个颜色,查询两点之间的色段数量。 解题思路: 树链剖分+线段树 首先它是一颗树,而且是修改和查询两点路径上的颜色,可以想到树链剖分。 查询颜色段数可以用线段树维护区间颜色段数。 这道题涉及到区间合并,所以在线段树和lca的时候需要多记录一些东西,当前区间的最左边的颜色,最右边的颜色,已经求出的区间

【洛谷P2486】【BZOJ2243】染色【树链剖分】

题目大意: 题目链接: BZOJ:https://www.lydsy.com/JudgeOnline/problem.php?id=2243 洛谷:https://www.luogu.org/problem/P2486 给出一棵树,维护下列操作: C a b c C\ a\ b\ c C a b c:把结点 a a a到结点 b b b路径上的全部结点染成 c c c颜色 Q a b Q\

【SDOI2011】bzoj2243 染色

Description 给定一棵有n个节点的无根树和m个操作,操作有2类: 1、将节点a到节点b路径上所有点都染成颜色c; 2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221”由3段组成:“11”、“222”和“1”。 请你写一个程序依次完成这m个操作。 Input 第一行包含2个整数n和m,分别表示节点数和操作数; 第二行包含n个正整数表示n个节点的初始颜