摘要: OJ题号:洛谷1196 思路:加权并查集。 对于每个联通块,记录最后(权值最大)的“战舰”。然后按照加权并查集的基本套路合并。最后输出两艘“战舰”权值之差。 阅读全文
posted @ 2017-06-09 20:51 skylee03 阅读(130) 评论(0) 推荐(0)
摘要: OJ题号:BZOJ1015、洛谷1197 思路:并查集。 将已经合并的结点拆开并不容易,因此可以考虑将此题倒着操作,把不连通的结点合并。 由题意得总共有n个结点,其中k个结点最终被删除,因此最终剩下的结点为n-k。 首先对这n-k个结点进行合并操作。然后将删除的点逆序加入图中,同时进行合并操作。每进 阅读全文
posted @ 2017-06-09 19:50 skylee03 阅读(127) 评论(0) 推荐(0)
摘要: OJ题号:BZOJ1083、洛谷2330 思路:Kruskal。 阅读全文
posted @ 2017-06-09 13:06 skylee03 阅读(138) 评论(0) 推荐(0)
摘要: OJ题号:ZHOJ1297 思路:搜索。 先预处理注定不能走的路径,然后dfs可以走的路径。 阅读全文
posted @ 2017-06-07 10:41 skylee03 阅读(152) 评论(0) 推荐(0)
摘要: OJ题号:BZOJ2659 思路:数学。 建立平面直角坐标系。在第一象限作直线y=qx/p,易得Σ[kq/p]即为当x<(p/2)时,直线下方(包括直线)的整点数;Σ[kp/q]为当y<(q/2)时,直线上方(包括直线)的整点数。因此答案即为(p-1)*(q-1)/4。注意当p==q时,要将直线上的 阅读全文
posted @ 2017-06-06 16:43 skylee03 阅读(139) 评论(0) 推荐(0)
摘要: 题号:ZHOJ1258 思路:并查集。 给每个人建立一个“正集”(朋友)、一个“反集”(敌人),反集要么为空、要么指向一个正集,维护这两类集合,最后统计“正集”的个数。 阅读全文
posted @ 2017-06-06 13:15 skylee03 阅读(174) 评论(0) 推荐(0)
摘要: OJ题号:ZHOJ1055 思路:树状数组。 首先将数据离散化,然后用线段树维护小于当前高度的山峰已经出现过的数量。 阅读全文
posted @ 2017-06-04 20:40 skylee03 阅读(166) 评论(0) 推荐(0)
摘要: OJ题号:POJ1258、洛谷1546 思路:Kruskal。 阅读全文
posted @ 2017-06-04 19:38 skylee03 阅读(275) 评论(0) 推荐(0)
摘要: 思路:Kruskal 阅读全文
posted @ 2017-06-04 15:11 skylee03 阅读(121) 评论(0) 推荐(0)
摘要: OJ题号:BZOJ1202、洛谷2294 思路:加权并查集。 每次将给出的区间[x-1,y]对应的v与w[y]-w[x]比较,如果与已知条件冲突则为假账单。如果条件未知加入并查集中,并维护一个类似于前缀和的东西w,对于每个联通块,w[i]表示从anc[i]到i的账目。 阅读全文
posted @ 2017-06-02 20:58 skylee03 阅读(125) 评论(0) 推荐(0)