T1:
(gcd!=1)的两数连边,设连通块数为cnt,则答案为(2^cnt-2)
具体来说可以对每个数分解质因数,然后向前一个分解出该因数的数连边
T2:
设计状态f[i][j][s]表示是否存在一条从i到j权值为s的路径
发现复杂度不对,考虑meet in the middle和bitset优化
(有个小trick,把长度不同的二进制状态的最高位补1,就可以用(2^{n+1})的空间存下所有状态)
T3:
咕咕咕
T1:
(gcd!=1)的两数连边,设连通块数为cnt,则答案为(2^cnt-2)
具体来说可以对每个数分解质因数,然后向前一个分解出该因数的数连边
T2:
设计状态f[i][j][s]表示是否存在一条从i到j权值为s的路径
发现复杂度不对,考虑meet in the middle和bitset优化
(有个小trick,把长度不同的二进制状态的最高位补1,就可以用(2^{n+1})的空间存下所有状态)
T3:
咕咕咕