zoukankan      html  css  js  c++  java
  • Gym 100090D Insomnia

    从 n 变到 1,有多少种方案?

    打表记忆化。

     1 #include <bits/stdc++.h>
     2 
     3 using namespace std;
     4 
     5 int n;
     6 int dp[1000005];
     7 int dfs(int n) {
     8     if(n==1)
     9         return 1;
    10     if(dp[n]>0)
    11         return dp[n];
    12     int cnt=0;
    13     for(int i=2;i<=n;i++) {
    14         if(n%i==0)
    15             cnt+=dfs(n/i);
    16     }
    17     return dp[n]=cnt;
    18 }
    19 
    20 int main()
    21 {
    22     memset(dp,0,sizeof(dp));
    23     scanf("%d",&n);
    24     printf("%d
    ",dfs(n));
    25 
    26     return 0;
    27 }
    View Code
  • 相关阅读:
    最短路径
    图解最小生成树
    图解最小生成树





    线索二叉树
    二叉树
  • 原文地址:https://www.cnblogs.com/TreeDream/p/6686863.html
Copyright © 2011-2022 走看看