srm 302 div2 1000(简单题,bfs,dp)
来源:互联网 发布:淘宝网店铺装修教程 编辑:程序博客网 时间:2024/05/13 09:55
题意:
对于一个大于等于4的数K,可以加上它的一个因子(1,K除外)得到另一个数。
给N和M(N小于等于M),求从N到M的最小操作次数。
思路:
因为
所以怎么搞都好啦~~
class DivisorInc{ public: int countOperations(int N, int M) { memset(f, 0xff, sizeof(f)); f[N] = 0; for (int i=N+2;i<=M;++i) { int last = sqrt(i), tmp = inf; for (int j=last;j>=2;--j) if (i%j == 0) { if (i/j >= 3) { int from = i - j; if (f[from] != -1) { tmp = min (tmp, f[from]+1); } } if (j >= 3) { int from = i - i/j; if (f[from] != -1) { tmp = min (tmp, f[from]+1); } } } if (tmp < inf) f[i] = tmp; } return f[M]; }};
0 0
- srm 302 div2 1000(简单题,bfs,dp)
- srm 653 div2 1000(dp)
- srm 656 div2 1000(dp+组合)
- srm 305 div2 1050(bfs中级)
- srm 301 div2 1000 (经典dp, 括号匹配)
- srm 304 div2 1000(环形DP进阶,几何)
- topcoder SRM 654 DIV2 1000 SuccessiveSubtraction2 题解(dp)
- srm 306 div2 1000 (字符串dp,进阶)
- srm 308 div2 1000(DP, 离散背包+连续背包)
- srm 655 div2 1000(DP进阶,枚举状态)
- srm 303 div2 1000 (简单暴力,分解素因子)
- SRM 649 div2 500(dp)
- SRM 431 div2 1000pt(好题,数学题)
- srm 654 div2 1000 (DP,最大连续和拓展, 有亮点)
- TopCoder SRM 648 Div2 Problem 1000 - ABC (DP)
- TopCoder SRM 663 Div2 Problem 1000 - CheeseRolling (状压dp)
- TopCoder SRM 672 Div2 Problem 1000 - Tdetectived2 (状压dp)
- Topcoder SRM 663 Div2 Hard: CheeseRolling(状压DP)
- ubuntu开机自动挂载windows分区
- chmod命令介绍
- 智能卡的发展,以及射频电子标签在其中的所处的位置
- 啊沙发上发放
- 浅析命令行参数
- srm 302 div2 1000(简单题,bfs,dp)
- 操作ACCESS数据库总结
- C/C++小结
- 一种保护应用程序的方法 模拟Windows PE加载器,从内存资源中加载DLL
- 俄罗斯方块
- 菜鸟学习jQuery
- 用 Java 实现断点续传 (HTTP)
- libsvm简单使用
- 推荐系统的基本原理