第三题:n个数字,有m个限制,每个限制给出某两个数字的Gcd或者Lcm为多少.最后问这样的n个数存在否. 思路:我们发现,对于素数p1,p2,n个数中每个数含有多少个p1,p2是没有联系的,因此每个素数可以分开考虑. 现在我们计算对于某一个素数p是否存在矛盾,用Min[i],Max[i]计算n个数字中每个数字最少最多含有多少个p.然后第x个数字含有的p要么取Min[x],要么取 Max[x],因此可用2sat解决. const int N=1005; #define VI vector<int>…