摘要:
分析 题意就是对于一个数组,有多少个子集中的各项乘起来为完全平方数,记录个数并取模。 首先观察数据范围,发现数的大小很小,又想到平方数可以进行质因数分解,分解后,每一组相同项的个数都应为偶数。 于是第一步就想到了,因为70内的质数只有19个,于是我们状态压缩,用19位的二进制数,每一位表示对应位置的 阅读全文
posted @ 2021-08-28 21:08
漠寒·
阅读(63)
评论(0)
推荐(0)
摘要:
题意 操作1:将两点所在的区间合并。 操作2:将一点移至另一点所在集合内。 操作3:求一点所在区间的元素个数和元素的总和。 分析 并查集的大小以及元素和是很好计算的,在合并时将“认亲”的点的对应值加给它祖先就行了。主要是操作2。 对于一个点单独抽离出来,我们发现是不好弄的,按照常规的方法做的话,如果 阅读全文
posted @ 2021-08-28 21:06
漠寒·
阅读(30)
评论(0)
推荐(0)
摘要:
题意 T 组数据,每组给出 n 个字符串,求一个最长字符串,满足其在每一个字符串都互不重叠地出现至少两次,输出其长度。 分析 既然是输出长度,很容易就能想到二分答案,二分可能的长度,对于一个已得的答案长度,比它小的长度一定也能满足,因为每一个该长度的串都能提取出更短的相同子串,因此二 阅读全文
posted @ 2021-08-28 21:03
漠寒·
阅读(37)
评论(0)
推荐(0)
摘要:
分析 看到题目所求的是一个最大差值,很快想到二分答案,对于一个二分到的 mid,我们枚举满足要求的最小值和最大值,表示我们路径只能经过权值在二者之间的点,这样走一个 dfs,用 vis 数组判断起点终点是否连通就可以了。 这样二分的正确性也容易证明了,当一个答案可行时,更大的 阅读全文
posted @ 2021-08-28 21:03
漠寒·
阅读(35)
评论(0)
推荐(0)