TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  问题讨论与解答  统计信息与排名
  • 首页
  • 题库
  • P2145
  • 题目
  • P2145【SDOI2011 第1轮 DAY1】染色
    限制 : 时间限制 : 40000 MS   空间限制 : 565536 KB
    问题描述

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

    输入格式

    第一行包含2个整数n和m,分别表示节点数和操作数;
    第二行包含n个正整数表示n个节点的初始颜色
    下面n-1行每行包含两个整数x和y,表示x和y之间有一条无向边。
    下面m行每行描述一个操作:
    “C a b c”表示这是一个染色操作,把节点a到节点b路径上所有点(包括a和b)都染成颜色;
    “Q a b”表示这是一个询问操作,询问节点a到节点b(包括a和b)路径上的颜色段数量。

    输出格式

    对于每个询问操作,输出一行答案。

    样例输入

    6 5
    2 2 1 2 1 1
    1 2
    1 3
    2 4
    2 5
    2 6
    Q 3 5
    C 2 1 1
    Q 3 5
    C 5 1 2
    Q 3 5

    样例输出

    3
    1
    2

    提示

    【数据规模和约定】





    【友情提示】
      不允许使用编译开关改变栈空间大小,请选手尽量不要使用递归,以避免堆栈溢出。


    来源  动态树