标签:构造 power class 字符 元素 log sub points ORC
_vb92xHWx8zQTc_34
题意:从 \(n\) 个数里选出 \(k\) 个不同的,构造方案,无解输出-1。
\(n,k,a_i \leq 100\)
题解:开个桶,扫一遍
\(O(n)\)
题意:给 \(n\) 个字符串,问能不能重排后使得所有 \(i\in [i,n-1]\) 满足第 \(i\) 个是第 \(i+1\) 个的子串
\(n,length \leq 100\)
题解:按长度排序,判断一下就好了
\(O(n\log n+\sum length)\)
题意:给 \(k\) 个序列,问是否存在两个序列使得各删掉恰好一个元素之后和相等。
\(k \leq 2\times 10^5\),\(\sum n \leq 2 \times 10^5\)
题解:把所有和拿map存一下
\(O(\sum n \log n)\)
题意:有 \(n\) 个不同的整数,求最大的一个子集使得两两之差都是 \(2^k\)。
\(n \leq 2 \times 10^5\)
题解:
首先发现选出集合的大小 \(<4\)。
因为如果 \(\geq 4\),可以选出 \(4\) 个数 \(a,a+2^x,a+2^x+2^y,a+2^x+2^y+2^z\),则 \(2^x+2^y\) 和 \(2^y+2^z\) 均可以表示成 \(2^k\),所以 \(x=y=z\),所以 \(2^x+2^y+2^z\) 不能被表示成\(2^k\),矛盾。
如果是 \(3\) 个数,一定是长度为 \(3\),公差为 \(2^k\) 的等差数列,枚举首项和公差,拿 map 判一下存不存在。
\(2\) 个数也随便拿 map 判一下,一个数就随便选就好了。
\(O(n\log n\log a)\)
Codeforces Round #486 (Div. 3)
标签:构造 power class 字符 元素 log sub points ORC
原文地址:https://www.cnblogs.com/wangziji/p/12916096.html