CF573C Bear and Drawing 构造+树论

正解:构造

解题报告:

传送门!

这题首先可以画下图找下规律,,,然后通过找规律可以发现,最终的方案一定是一条主干+一些枝条,而且这些枝条的分杈一定小于等于2

明确一下主干的定义,最左边的节点和最右边的节点之间的路径为主干

如图

 CF573C Bear and Drawing 构造+树论

强行证明一下吼,,,

因为是两排平行的“钉子板”

所以如果一个分枝点想要有超过2个儿子结点

因为在同侧最多有两条边

就一定要往另一边伸至少一条边

这样就因为这条边挡住了一侧(比如说左侧)

那么剩下的边只能往右侧伸展了

那它向另一侧伸的边伸出的子树中的叶子节点一定有一个是最左边的节点

那最左边的节点的路径一定要经过它

所以它就在最左边的节点到最右边的节点的路上

它就是主干不是分枝辣

然后就考虑,我怎么找哪个是杈哪个是主干呐

那就从叶子节点开始,把链减下来,剩下的不是主干就是分杈点

然后就看,如果这个点麻油被减下来的邻居只有一个,说明那它就是分叉点或者主干点的最侧端

然后最后判断一下484所有主干的邻居主干点都小于等于2就好辣!

然后等下放代码!

over!

上一篇:重绘 提示 DockedBarControl Dev控件


下一篇:如何提高JavaFX图形绘制的性能?