题意:给出n个数,然后每次询问l r s,表示在lr区间内有多少个x,是x能被集合s里的至少一个元素整除,s表示一个{1~10}的子集位运算+优化+前缀和可以预处理出前缀和 sum[i][j]表示1~j中能被集合i满足的数的个数,且i为奇数时比有元素1,lr区间内所有的数必定可以被1整除,所以只剩下512中情况故 int sum[512][maxn];读入的时候每次判断v可以被哪些数整除,然后得到集合s,s说表示的集合中所有的元素皆可以整除v,然后用这个s和0~512位于返回非0值则有公共元素,