描述

给你一根长度为 n 的绳子,请把绳子剪成整数长的 m 段( m 、 n 都是整数, n > 1 并且 m > 1 , m <= n ),每段绳子的长度记为 k[1],...,k[m] 。请问 k[1]*k[2]*...*k[m] 可能的最大乘积是多少?例如,当绳子的长度是 8 时,我们把它剪成长度分别为 2、3、3 的三段,此时得到的最大乘积是 18 
进阶:空间复杂度 O(1) ,时间复杂度 O(n)

输入描述:

输入一个数n,意义见题面。

返回值描述:

输出答案。

采用暴力解法:

即每次可以从1~n选数,选数之和等于n,求选数之积最大

int dfs(int n,int sum);//sum为当前选数之和,返回最大乘积

递归出口:

如果sum>n.返回0;剪不成

如果sum==n;返回1?剪成一段

递归体    :

return  max(  i*dfs(n,sum+i) );

可以用记忆化搜索减少时间复杂度:

class Solution {
public:int dp[61][61];int dfs(int number,int sum){if(dp[number][sum])return dp[number][sum];if(sum>number)return 0;if(sum==number)return 1;int res=0;for(int i=1;i<=number;i++)dp[number][sum]=max(dp[number][sum],i*dfs(number,sum+i));return dp[number][sum];}int cutRope(int number) {memset(dp,0,sizeof(dp));return dfs(number,0);}
};

【深度优先搜索】牛客网:剪绳子相关推荐

  1. 牛客网sql题库(1-30题)—— 个人答案与过程解析

    本篇博客分享一下我在牛客网sql题库刷题时,自己敲出来的结果.结果均通过了牛客网的结果验证. 具体的题目就不放在博客中了,感兴趣可以自行去搜索牛客网,找到sql题库在线编程 每道题下面都有我自己写的题 ...

  2. 2016面试整理--来源牛客网

    马上国庆节了,首先祝大家最后都能有个满意的offer,国庆几天好好养精蓄锐. 我经常在牛客群里水群,应该不少人看我眼熟的. 本人是一个杭州渣硕,本科也很一般,和211 985半点都粘不到,没有参加过A ...

  3. 牛客网校招题题目收集----数据结构与算法篇

    选择题 a,b,c,d,e 对应出现的频率为4,6,11,13,15:以下符合哈夫曼编码的选项是?() A. a=000.b=01.c=001.d=10.e=11 B. a=000.b=001.c=0 ...

  4. 牛客网 桂林电子科技大学第三届ACM程序设计竞赛 D.寻找-树上LCA(树上a到b的路径上离c最近的点)...

    链接:https://ac.nowcoder.com/acm/contest/558/D 来源:牛客网 寻找 小猫在研究树. 小猫在研究树上的距离. 给定一棵N个点的树,每条边边权为1. Q次询问,每 ...

  5. 牛客网_PAT乙级_1019. 数字黑洞 (20)

    总结 注意!! 想要在函数中结束程序,一定不要用system("pause");,因为这样只是让程序暂停,结果就是运行时间超时,无法通过所有的测试用例. 那么,C++ 程序中什么函 ...

  6. 框架复习笔记-Java-案例:牛客网讨论社区

    文章目录 搭建开发环境 Spring入门 Spring IoC实例分析 Spring MVC入门 请求 响应 Mybatis入门 案例:开发者社区首页 调试技巧 日志 版本控制-Git 发送邮件 开发 ...

  7. 牛客网 2018年全国多校算法寒假训练营练习比赛(第五场) H.Tree Recovery-完全版线段树(区间更新、区间求和)...

    H.Tree Recovery 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语言262144K 64bit IO Format: %lld 链接:https:/ ...

  8. sql replace替换多个字符_牛客网数据库SQL实战详细剖析(4150)

    文章来源:大数据肌肉猿 作者:无精疯 这是一个系列文章,总共61题,分6期,有答案以及解题思路,并附上解题的一个思考过程.具体题目可参考牛客网的SQL实战模块:https://www.nowcoder ...

  9. 牛客网算法工程师能力评估

    牛客网算法工程师能力评估 题目来源:https://www.nowcoder.com/test/200/summary 1.递归算法x(x(8))需要调用几次函数x(int n)? class pro ...

  10. 牛客网Java刷题知识点之Java 集合框架的构成、集合框架中的迭代器Iterator、集合框架中的集合接口Collection(List和Set)、集合框架中的Map集合...

    不多说,直接上干货! 集合框架中包含了大量集合接口.这些接口的实现类和操作它们的算法. 集合容器因为内部的数据结构不同,有多种具体容器. 不断的向上抽取,就形成了集合框架. Map是一次添加一对元素. ...

最新文章

  1. Android应用---基于NDK的samples例程hello-jni学习NDK开发
  2. java监听某端口和ip_Java 通过Socket监听指定服务器(IP)的指定端口,及向指定服务器的指定端口发送信息...
  3. K 近邻法(K-Nearest Neighbor, K-NN)
  4. 【转载】ADS分散加载文件使用总结(lpc23xx)
  5. 让所有IE支持HTML5
  6. 北语20春oracle数据开发2,北语20春《Oracle数据库开发》作业3题目【标准答案】
  7. 网站主机 技术+类型
  8. 2019 年互联网人才招聘报告:Java 吃香,算法工程师紧缺,今日头条崛起!
  9. mysql 5.6 2002_MySQL错误ERROR 2002 (HY000): Can't connect to local MySQL server
  10. Java的GUI学习九(列出指定目录内容)
  11. Proteus仿真51单片机
  12. entity framework 新手入门篇(1)-建立模型
  13. 从知识工程到知识图谱全面回顾
  14. 苹果6s照相快门声音设置_苹果手机配件常见故障及维修注意事项
  15. 逻辑的计算进路--从莱布尼茨到图灵的逻辑发展
  16. 女人心疼男人的10种方式
  17. catia v5r20破解版 32位64位 安装说明方法
  18. 2023 年openEuler 社区技术委员会增选,新增2位委员
  19. python 大气污染物模型_Python AQI空气污染指数数据分析与机器学习
  20. xt6使用技巧_凯迪拉克XT6中控按钮图解 XT6车内按键功能说明

热门文章

  1. 【转载】TreeView序列化,TreeView串行化,TreeView反序列化 c# winform
  2. 【转】查看linux服务器的系统信息
  3. 实用的SQL函数(用于将符合条件的某列所有记录合成一行)
  4. Bailian4130 踩方格【组合+打表】
  5. UVA10784 Diagonal【数学+二分查找】
  6. JSK-A1144 代码填空:阶梯三角形【水题】
  7. POJ1061 青蛙的约会【扩展欧几里得算法】
  8. CCF NOI1056 表达式
  9. 计算机的组成 —— usb 篇
  10. Python Flask Web 第一课 —— 基本概念和程序的基本结构