博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Gym 100090D Insomnia
阅读量:6924 次
发布时间:2019-06-27

本文共 528 字,大约阅读时间需要 1 分钟。

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

打表记忆化。

1 #include 
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\n",dfs(n));25 26 return 0;27 }
View Code

 

转载于:https://www.cnblogs.com/TreeDream/p/6686863.html

你可能感兴趣的文章
gitlab 各个角色的权限设置
查看>>
网络安全课程笔记 第0章
查看>>
Solaris 10 x86系统上添加新硬盘
查看>>
我的友情链接
查看>>
Web服务器测试和监控工具及组件介绍
查看>>
搭理AD域控服务器
查看>>
FTP HA windows cluster
查看>>
BGP AS-PATH 正则表达式的理解
查看>>
【帧中继】EIGRP如何运行在帧中继网络
查看>>
赛门铁克NBU备份oracle慢的问题
查看>>
Linux下Socket 函数集(二)
查看>>
漫谈程序员系列:受刺激啦,开篇啦
查看>>
特效编辑器开发手记1——令人蛋疼菊紧的Cocos2d-x动态改变粒子数
查看>>
Java源码分析系列之ArrayList读后感
查看>>
安卓中的消息循环机制Handler及Looper详解
查看>>
练习命令
查看>>
转 fiddler常见的应用场景
查看>>
android开发学习 ------- 仿QQ侧滑效果的实现
查看>>
139.00.007 Git学习-Cheat Sheet
查看>>
js的基本数据类型有哪些?
查看>>