我有一个作业问题,我只能解决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)太多,而且我不知道如何查看一个数字是否在奇数组中。
如果您能帮助我,我将不胜感激。提前谢谢你,对不起我的英语和解释不好!