题目大意:
Bob可以在一个原始空矩形或由一条垂线分割出的空矩形中画一条水平线,反之画一条垂线.
线画完之后,Bob会在原始矩形内选两个目标点,且目标点不会在画的线上,Alice可以删掉画的线使得两点在同一空矩形中,删掉的线必须保证两边都是空矩形,且不能使图不连通,求出删完线后最多能剩几个空矩形.
题目思路:
可以看出构造图的过程是一个二叉树建立的过程,要使两个点合在一起只要知道两点所在矩形的LCA即可,把LCA里画的线全删掉就是了.而且是1000空间复杂度,暴力LCA即可.
代码:
[cpp]
#include
#include
#include
#include
#include
#include
#include
#include
#include