---
id: centroid
title: "Centroid Decomposition"
author: Benjamin Qi
prerequisites: 
 - Silver - Depth First Search
description: "?"
frequency: 1
---

import { Problem } from "../models";

export const metadata = {
  problems: {
    general: [
      new Problem("CF", "Ciel the Commander", "problemset/problem/321/C", "Easy", false, ["Centroid"]),
      new Problem("YS", "Frequency Table of Tree Distance", "frequency_table_of_tree_distance", "Hard", false, ["Centroid", "FFT"], ""),
      new Problem("DMOJ", "Bob Equilibrium", "dmopc19c7p6", "Hard", false, ["Centroid"], "tight time limit"),
      new Problem("DMOJ", "Time Traveller Imaxblue", "tc19summerh", "Hard", false, ["Centroid"], ""),
      new Problem("ojuz", "JOI - Synchronization", "JOI13_synchronization", "Hard", false, ["Centroid", "Small to Large"], "Looks like $O(N \log^3 N)$ is very fast!"),
      new Problem("Plat", "At Large", "793", "Very Hard", false, ["Centroid"], "tight time limit"),
    ]
  }
};

### Tutorial

<resources>
  <resource source="Carpanese" title="Illustrated Intro to Centroid Decomposition" url="https://medium.com/carpanese/an-illustrated-introduction-to-centroid-decomposition-8c1989d53308" starred></resource>
  <resource source="GFG" title="Centroid Decomposition of Tree" url="centroid-decomposition-of-tree"></resource>
</resources>

### Problems

<problems-list problems={metadata.problems.general} />

*Note:* Unfortunately, it seems like constant factor is especially important for DMOJ. :|