catalog
给定一个长度n=1e5的数组,每个元素是[1, 30]
求有多少个子序列满足: 该子序列的 乘积的 质因数分解:至少有1个质因子,而且所有质因子均不同!!
[1, 2, 2, 3]
合法子序列:[2] [2] [3] [1,2] [1,2] [1,3] [2,3] [2,3] [1,2,3] [1,2,3]
由于元素是[1, 30],这是很重要的信息。 因为,这个范围的质数 只有10个,所有合法的质因子 分布,也只有1023个!
dp[ 1e5 ][ 1024 ]
dp[i][st]: 前i个元素中,选出子序列乘积的 质因数分解为 st排布 的方案数。
ans = dp[1e5][ 1,2,3...,1023 ]
int B[10] = {
2, 3, 5, 7, 11, 13, 17, 19, 23, 29};
int get_st