ferinの競プロ帳

競プロについてのメモ

Educational Codeforces Round 6 E. New Year Tree

問題ページ
Problem - E - Codeforces

概要

n要素の根が1の木が与えられる。m個のクエリを処理しろ。
クエリ1 頂点vの部分木の頂点の色をcに変更する。
クエリ2 頂点vの部分木に含まれる色の種類を求める

解法

部分木に関するクエリを処理するのにオイラーツアーを使う。オイラーツアーによって木を数列に変換し、部分木に当てはまる区間の色を更新する。色は60種類しかないためlong longでbitを使って管理できる。区間更新、区間orができる遅延セグメントツリーを使えばこの処理は可能。
cin/coutだとTLEするので注意