{"problem":{"name":"[DTCPC 2024] 平方树","description":{"content":"给你一个森林，每条边有一个方向。 你可以进行两种操作： - 新增一个点。 - 将两个点之间连一条有向边。 你要使得最后将所有有向边看成无向边后，图形成一棵树，且每个点的出度都是平方数。 给出一种新增点数最少的方案。","description_type":"Markdown"},"platform":"Luogu","limit":{"time_limit":1000,"memory_limit":524288},"difficulty":{"LuoguStyle":"P5"},"is_remote":true,"is_sync":true,"sync_url":null,"sign":"LGP10163"},"statements":[{"statement_type":"Markdown","content":"给你一个森林，每条边有一个方向。\n\n你可以进行两种操作：\n\n- 新增一个点。\n\n- 将两个点之间连一条有向边。\n\n你要使得最后将所有有向边看成无向边后，图形成一棵树，且每个点的出度都是平方数。\n\n给出一种新增点数最少的方案。\n\n## Input\n\n第一行两个整数 $n,m$（$1\\le m \\lt n \\le 10^5$）表示这个森林的点数和边数。\n\n接下来 $m$ 行，每行两个数 $u,v$（$1\\le u,v\\le n$）表示一条 $u$ 连向 $v$ 的有向边。\n\n保证将每条边看作无向边后，这张图是森林。\n\n## Output\n\n第一行两个整数 $x,y$ 表示你的新增点数和连边数。\n\n接下来 $y$ 行，每行两个数 $u,v$ 表示新增一条 $u$ 连向 $v$ 的有向边，你要保证 $1\\le u,v\\le n+x$。\n\n[samples]","is_translate":false,"language":"English"}],"meta":{"iden":"LGP10163","tags":["2024","Special Judge","洛谷月赛"],"sample_group":[["3 2\n1 2\n1 3","2 2\n1 4\n1 5"]],"created_at":"2026-03-03 11:09:25"}}