因为我太菜了,于是乎就找了份代码,理解了一下思路(把坑填完才能好好复习zz 思路: 1.先用筛求质数表,表长大约是sqrt(1e9) 2.建树 3.对权值进行质因数分解,并把对应的权值下标与素数对应起来存下来 4.然后树形dp求符合条件的最长链 代码 #include<bits/stdc++.h> using namespace std; const int N=1e5+10,M=31624; struct node{ int v,nex; }t[N<<1]; int val[N][10],tot[N]; int zhi[M],e,dp[N][10]; int la...