网站建设平台计划书,口岸地区网站建设内容,做公司网站需要哪些资料,网站建设分金手指专业十三状态压缩动态规划 原理如下#xff1a; 遍历位图可以得到所有组合序列#xff0c;将这些序列的每一位看作一个数#xff0c;取序列中1总量的值作为每轮遍历的位#xff0c;此时对每个这样的位都能和所有数进行匹配#xff0c;因为一开始就取的是全排列#xff0c;并且我们… 状态压缩动态规划 原理如下 遍历位图可以得到所有组合序列将这些序列的每一位看作一个数取序列中1总量的值作为每轮遍历的位此时对每个这样的位都能和所有数进行匹配因为一开始就取的是全排列并且我们不需要考虑其它位的排列状况这一位能换的话就加上这一位不能换的总量这样一来通过整个遍历过程就可以得到排列总数。
class Solution {
public:int countArrangement(int n) {vectorinttmp(1n);tmp[0]1;for(int mask1;mask(1n);mask){int m__builtin_popcount(mask);for(int i0;in;i){if(mask(1i)(m%(i1)0||(i1)%m0)) tmp[mask]tmp[mask^(1i)];}}return tmp[(1n)-1];}
};