摘要:
这个题做了N长时间…… 因为一开始是不会并查集的时候纪录其他东西的,然后就想自己搞一下。 一开始是只会非递归的并查集,所以开了三个数组…… a就是纪录父亲节点的,d是纪录这一堆最下面的节点的,s是记录这个点下面有多少点的。 因为是非递归,所以每次合并之后,必须从堆在上面的那一坨最下面的节点(是用d纪录的)开始再往上更新s数组,所以它是有些慢,必须要保持树的结构的,不能路径压缩的,但是是对滴~ 所以对于这个题的11个测试点,它只能过10个……但还是贴一下记录下艰辛的历程……View Code var d,a:array[0..30000] of longint; s... 阅读全文