当前位置: 首页 > news >正文

本地电商平台有哪些/广东做seo的公司

本地电商平台有哪些,广东做seo的公司,wordpress多功能模板,手机网站建设需求题目: 给你一根长度为n绳子,请把绳子剪成m段(m、n都是整数,n>1并且m>1)。每段的绳子的长度记为k[0]、k[1]、……、k[m]。k[0] * k[1]*…*k[m]可能的最大乘积是多少?例如当绳子的长度是8时&#xff0c…

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

解题思路:
动态规划法:

动态规划求解问题的四个特征:
①求一个问题的最优解;
②整体的问题的最优解是依赖于各个子问题的最优解;
③小问题之间还有相互重叠的更小的子问题;
④从上往下分析问题,从下往上求解问题;

这道题很明显复合这四个特征故我们可以使用动态规划求解。
动态规划:

有一段长度为n的绳子,我们现在要剪第一刀,我可以选择下第一刀的地方有1n-1这些地方;比如长度为10的绳子,我第一刀可以在19这些地方下刀,共9种方式。

第一刀下去后,绳子分成两部分,假设在i处下刀,绳子两部分就分别为:[0i]与[in],长度分为表示为i与n-i;那么找出第一刀最合适的位置,其实就是找i在哪下刀,可以使得[0i]与[in]的乘积最大,函数表示为:f(n)=max(f(i)×f(n−i))f(n) = max(f(i) × f(n-i))f(n)=max(f(i)×f(n−i))。

那么如何判断i处切最大呢?这个时候,我们就要知道,[0~i]这个长度的绳子,任意方式切,最大的乘积是多少;假如说,当我们要切一个长度为10的绳子:切成1和9与4和6,两种方式,哪个乘积更大?
回答:不光要考虑第一刀后两个绳子的大小,还要考虑到9、4、6这三种情况,因为第一刀切出的绳子长度是否可以再切第二刀,使它有更大的乘积,比如将9再切成 3×3×3,6切成 4×2,哪个更大?

10可以切成 1x9 2x8 3x7 4x6 5x5等这几种情况

这种情况下,我们可以发现,无论再怎么切,一定是越切越短,那么我们是否可以将小于给定长度的绳子的每一个长度的最大乘积都求出来?
即:长度为10的绳子,我们就计算出:长度1~9这9种长度的绳子,每种长度的最大乘积是多少。
  要求长度9的绳子的最大乘积,我们要知道1-8各个长度的最大乘积,要知道长度8的最大乘积,就要知道1-7长度的各个最大乘积,以此类推。

public int solution(int length){if (length==1){return 0;}else if (length==2){return 1;}else if (length==3){return 2;}int[] dp = new int[length+1];dp[0] = 1;dp[1] = 1;dp[2] = 2;dp[3] = 3;for (int i = 4; i <= length; i++) {for (int j = 1; j <= i/2; j++) {dp[i] = Math.max(dp[j]*dp[i-j],dp[i]);}}return dp[length];}

贪婪算法:
当n大于等于5时,我们尽可能多的剪长度为3的绳子;当剩下的绳子长度为4时,把绳子剪成两段长度为2的绳子。 为什么选2,3为最小的子问题?因为2,3包含于各个问题中,如果再往下剪得化,乘积就会变小。 为什么选长度为3?因为当n≥5时,3(n−3)≥2(n−2)

效率分析:
动态规划:空间复杂O(n),时间复杂O(n2)。
贪婪算法:空间时间均为O(1)。

int maxProductAfterCutting_solution2(int length) 
{if (length < 2)return 0;if (length == 2)return 1;if (length == 3)return 2;int timesOf3 = length / 3;/*  当最后绳子长度为 4 时,这时候分割成 2,2 而不是 3,1 因为2*2=4 > 3=3*1  */if (length - timesOf3 * 3 == 1)timesOf3--;int timesOf2 = (length - timesOf3 * 3) / 2;return (int)(pow(3, timesOf3))*(int)(pow(2, timesOf2));
http://www.jmfq.cn/news/5138767.html

相关文章:

  • 注册一家公司需要什么条件/东莞关键字排名优化
  • 无法解析您网站的域名/网络营销方案设计
  • 如何做电影网站赚钱/网站推广优化技巧
  • 怎么在服务器上部署网站/seo排名课程咨询电话
  • 最优的网站建设/软文怎么写比较吸引人
  • 网站需求方案/百度指数使用指南
  • 官网免费在线客服系统/排名seo公司哪家好
  • 昆明云纺片区网站建设/宁波seo关键词排名
  • 做京东网站采购的工作内容/华为手机业务最新消息
  • 网站运营推广难做吗/推广活动策划方案范文
  • 帮人家做网站能赚多少钱/seo推广软件排行榜前十名
  • 学生做的网站成品/信息流广告代运营
  • 可以做请柬的网站/百度风云榜各年度小说排行榜
  • 供应链公司是什么行业/seo优化公司哪家好
  • 摄影 网站 模板/推广方案框架
  • python 可以做网站吗/平台搭建
  • 网站设计培训/seo工作是什么意思
  • 阿里云网站主体变更怎么做/新闻发稿平台有哪些?
  • 厦门网站建设报/seo属于技术还是营销
  • 网站开发就业前景分析/百度软件中心下载
  • 模板网站制作时间/2024新闻热点摘抄
  • 代理分佣后台网站开发/潍坊关键词优化排名
  • 免费自助音乐网站申请/网页制作平台有哪些
  • 网站怎么做sem优化/cpc广告点击日结联盟
  • 焦作网站制作-焦作网站建设-焦作网络公司-维科网络/最新国际新闻大事件
  • 中文网站建设英文网站建设/手机建站教程
  • 长春电商网站建设哪家好/杭州网站seo
  • 商务网站建设工程师是/优化流程
  • 淮安做网站app/站长工具排名分析
  • 书签制作 小学生的手工书签/seo如何优化