题目链接:
思路:每次都要把那个终极boss除去,然后dp[i]=sum{dp[j]}((i-1)%j==0);
原因:根据题意,一个节点一定要用去做树根,所以剩下i-1个点,这i-1个节点把它分成几份,这几份完全相同,其本身强烈对称,然后不断更新就行了。。。orz
View Code
1 #include2 const int N=1010; 3 const int MOD=1e9+7; 4 using namespace std; 5 int dp[N]; 6 7 void Initiate(){ 8 dp[1]=dp[2]=1; 9 for(int i=3;i<=1001;i++){10 for(int j=1;j