【未完成】[nomura2020][Atcoder] NOMURA Programming Competition 2020

NOMURA Programming Competition 2020

C - Folia

较简单二叉树性质题。

D - Urban Planning

代码错误:

  • dp的下标写错……
  • 有几次运算时没有取模导致移溢出……

思维题:模型转换……

基环树:计数连通块=>计数环。环:已有环(并查集)/新环(组合、dp)。

考虑所有边\((i,P+i)\)构成的图,若所有\(P_i\)已经确定,则设可以分为\(k\)个联通块,答案为\(n-k\)。 考虑其中的一个联通块,由于连通性较难计数,考虑找联通块的性质:

发现一个联通快实际上是一个内向的基环树,故计数联通块可以转换为计数(有向)环的个数。

有向环有两种:一种是仅由固定的\(P_i\)导出的,另一种是包含\(P_i=-1\)的。前者容易通过并查集计数,考虑如何计数后者:

posted @ 2021-05-20 21:22  frank3215  阅读(59)  评论(0编辑  收藏  举报