RT,写了一下午后心态崩了,有一堆不理解的地方:
- top cluster主要处理的是边,但是我要算的信息都是点,怎么处理?我的解决方案是把收缩树的点的定义从包含边变为包含点。
- 界点怎么处理?我的解决方案是把界点放入深度较浅的收缩树的节点。
- P6177中我需要预处理任意两个整块的答案,我只能处理在以 1 为根的情况下有祖先关系的两块,怎么处理没有祖先关系的两块?
- 在散块中,我需要把两点的路径找出,但是有可能在同一块中的两点的路径中包含了界点,但是界点扔到了另一块中导致无法到达,怎么处理?
3,4 问题的起源应该是因为我在问题 1 上处理不当导致的,希望各位回答一下如何更简洁地处理这些问题,使代码更易于编写。