摘要: #2135. 「ZJOI2015」幻想乡战略游戏 #2135. 「ZJOI2015」幻想乡战略游戏 链接 分析: 动态点分治,求加权重心,带修改。 考虑如果知道了一个点s,如何求答案,那么首先可以点分治的思想,求每个联通块内所有点到分治中心距离和,然后加上分治中心到s的距离。 当然有一部分会算重,就 阅读全文
posted @ 2019-03-25 22:05 MJT12044 阅读(293) 评论(0) 推荐(0) 编辑
摘要: P3426 [POI2005]SZA-Template 链接 分析: 首先T一定是S的一个前缀,也是一个后缀。 判断一个前缀s[1...i]是不是满足条件,那么求出s[1...i]在s中出现的所有位置,如果相邻的两个位置之间的距离的最大值小于等于i,那么就是满足的。 于是可以建出fail树,每次从根 阅读全文
posted @ 2019-03-25 17:50 MJT12044 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 1095: [ZJOI2007]Hide 捉迷藏 链接 分析: 动态点分治。Qtree4没过。。。 先建出点分树,然后每个点维护两个堆,一个h1表示当前根的连通块内,所有点到点分树上父节点的距离,h2表示当前根的所有子节点的h1的最大值。 更新的时候,深度是log的,暴力修改堆中的元素即可。 代码: 阅读全文
posted @ 2019-03-25 15:26 MJT12044 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 链接 分析: 每次操作把以前没有出现这个数的设为1,有这个数的设为0。首先将当前区间设为1,考虑有set维护这个颜色出现的区间,然后把所有与当前区间相交的拿出来,修改为0。 复杂度?每次操作的线段只会加入到一次set中,从set中取出一次,只会修改一次,然后就合并成大的了,每次操作也只会加入一条线段 阅读全文
posted @ 2019-03-25 07:54 MJT12044 阅读(328) 评论(0) 推荐(0) 编辑