Link
这个做法非常喵啊
Solution
也就是说两个集合里不能有相同的质因子 那就质因子分解,状压,似乎可以处理30以内的,总共10个质数的情况 可以发现,状压的很多维是没用的。具体说,对于每个质因子,只会出现次。越大,越浪费。 此时可以想到分解质因数的做法:用以内的数字试除,最后判断是否为1。也就是说,每个数字都至多只有一个的质因子。而在范围内只有个质数,那就利用这个性质搞一些事情吧。 好了。每个数字分解,记录的八个质数的状态,再记录剩下的唯一一个大质数。 然后把大质数相同的一起DP。 表示相应状态的方案数目,表示这个大质数给了(给了不一定要了)的方案数目。的转移是互相独立的。当处理完一组大质数相同的数的时候,
枚举SubSet
我不停地问自己:一定要写的这么诡异吗
1
Code
1 | //Code by Lucida |