关于TopCoder DivFreed2问题示例与约束的疑问
解析TopCoder DivFreed2问题中{2,1}数组被排除的原因
嘿,我来帮你解开这个困惑!咱们先把问题的核心约束再明确一遍:
数组长度为n,每个元素是1到k之间的整数;对于任意连续的前元素A和后元素B,必须满足 (A <= B) 或 (A mod B != 0)。
现在咱们来分析你提到的数组{2,1}:
- 这里A=2,B=1,首先
A > B,所以第一个条件(A <= B)不满足; - 接着看第二个条件:
A mod B也就是2 mod 1,结果是0,这也不满足A mod B != 0的要求。
两个条件都不满足,所以这个数组违反了题目约束,自然不会被计入有效数组的数量里。
咱们再对应第一个示例(假设示例是n=2,k=2的情况),符合要求的数组其实是这3个:
{1,1}:1<=1,满足第一个约束{1,2}:1<=2,满足第一个约束{2,2}:2<=2,满足第一个约束
这样一来,答案就是3而不是4啦,完全符合题目给出的示例结果。
内容的提问来源于stack exchange,提问作者ng.newbie
相关产品推荐
相关产品推荐

