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

专业做礼品团购的网站网站优化教程

专业做礼品团购的网站,网站优化教程,做的较好的拍卖网站,去哪找网站建设公司好Divide and Divide(分而治之) 时间限制:2s 内存限制:1024MB 【原题地址】 所有图片源自Atcoder,题目译文源自脚本Atcoder Better! 点击此处跳转至原题 【问题描述】 【输入格式】 【输出格式】 【样例1】 【样例…

Divide and Divide(分而治之)

时间限制:2s 内存限制:1024MB

【原题地址】

所有图片源自Atcoder,题目译文源自脚本Atcoder Better!

点击此处跳转至原题

【问题描述】

在这里插入图片描述

【输入格式】

在这里插入图片描述
在这里插入图片描述

【输出格式】

在这里插入图片描述

【样例1】

【样例输入1】

3

【样例输出1】

5

【样例说明1】

在这里插入图片描述

【样例2】

【样例输入2】

340

【样例输出2】

2888

【样例3】

【样例输入3】

100000000000000000

【样例输出3】

5655884811924144128

【解题思路】

老汉使用到的是记忆递归的解题方式

本题是求将 n 分解至 n 个 1 所花费的金额。
如果单纯的使用关系式 f(n)=f(n/2)+f((n+1)/2)+n 求解答案,对于数值较小的 n 可以在规定时间内解决,但当n的值特别大时,由于过程中有许多重复计算的步骤,所花费的时间将会超出规定时间,因此老汉使用到记忆递归的方式对每次计算出来的 f(n) 的值都进行保存,减少了不必要的重复计算,使计算效率提高。

代码注释有详细过程

【代码】

package ABC340_C_DivideandDivide;import java.util.HashMap;
import java.util.Scanner;public class Main {// 记忆集合mHashMap<Long, Long> m = new HashMap<Long, Long>();public static void main(String[] args) {Scanner scan = new Scanner(System.in);long n = scan.nextLong();Main ma = new Main();System.out.println(ma.divide(n));scan.close();}/*** 使用记忆递归,保存每一步求值结果,减少重复计算,缩短计算时间* * @param n 所要求值的数* @return 所需支付的总金额*/public long divide(long n) {// 当n为1时无需再进行计算if (n == 1) {return 0;}// 当记忆集合m中存有对应值时,直接调用该对应结果else if (m.get(n) != null) {return m.get(n);}// 当记忆集合中不存在对应值,利用关系式进行计算存储m.put(n, divide(n / 2) + divide((n + 1) / 2) + n);// 放回计算后得出的结果return m.get(n);}}
http://www.ysxn.cn/news/2861.html

相关文章:

  • wordpress极速版西安seo优化公司
  • 建站平台和网站建设的区别seo岗位培训
  • 丰城网站建设三亚百度推广地址
  • 公司网址平台有哪些seo 资料包怎么获得
  • 成都微信网站建设搜索引擎优化案例分析
  • 旅游网站html百度网站制作联系方式
  • 专业彩票网站开发 APP开发佛山seo优化
  • 大型网站建设与维护过程软文推广平台排名
  • 2015网站排名上海外包seo
  • 绍兴做网站宁波seo推荐
  • 类似淘宝网站建设有哪些模板百度客服电话24小时客服电话
  • 网站布局怎么做营销引流都有什么方法
  • 河南网站网站制作长沙seo排名扣费
  • 桂林网站开发m0773汕头百度推广公司
  • 一个手机app开发需要多少钱天津关键词优化平台
  • 苏州网站优化广州疫情最新消息
  • 企业小程序开发费用泸州网站seo
  • 怎么做刷网站流量生意网络广告营销对应案例
  • 建设公司企业网站长沙专业seo优化公司
  • 白名单 网站百度电话销售
  • 网站结构与导航设计网络推广工作室
  • bbs网站开发报告百度爱采购怎样入驻
  • 地方旅游网站模板全自动在线网页制作
  • 国内 扁平化 网站关键词优化推广策略
  • 常州网站建设价位短视频代运营方案策划书
  • 新泰网站建设深圳网络营销网站设计
  • 天津网站建设icp备java培训
  • 站内内容投放计划推广普通话手抄报
  • 打不开wordpresssem和seo的区别
  • tinyurl短链接生成网站页面排名优化