我有一个作业问题,我只能解决O(max(F)*N)
(N
大约10^5
和F
是10^9
)复杂性,我希望你能帮助我。我得到N
一组 4 个integer
数字(名为S, F, a
和b
);每组 4 个数字以这种方式描述一组数字:第一个连续的数字,从S
包含的开始都在集合中。下一个b
连续的数字不是,然后是下一个a
数字,重复此操作,直到达到上限值F
。例如对于S=5;F=50;a=1;b=19
集合包含(5,25,45); S=1;F=10;a=2;b=1
集合包含(1,2,4,5,7,8,10);
我需要找到包含在奇数个集合中的整数。保证对于给定的测试,只有 1 个符合此条件的数字。
我试图遍历和之间的每个数字min(S)
并max(F)
检查该数字包含多少组,如果它包含在奇数组中,那么这就是答案。正如我所说,以这种方式我得到了一个O (F*N)
太多,而且我不知道如何查看一个数字是否在奇数组中。
如果您能帮助我,我将不胜感激。提前谢谢你,对不起我的英语和解释不好!