唉,这两天电脑坏了,一直没做题,感觉心有点慌慌的。
今天接着开始做CF了,感觉这道题很好,又掌握了很多知识。
http://codeforces.com/contest/632/problem/D
题目大意:给n个数字的数组a,然后其中lcm最大是m,求最长公子序列,使该公共子序列的lcm小于等于m。输出len,公共子序列的lcm和下标
思路:因为是lcm,所以构成该lcm的子序列的数组元素都一定能被lcm整除。然后只要每次都枚举一下cnt就可以统计出len的最长的长度了(这里枚举的是i的倍数,而不是m^2,不然会TLE的)。然后还有一个注意点,因为数组元素最大是10^9,而m只有10^6,所以,大于m的都不要放进来就可以了。