Atcoder ABC340 C - Divide and Divide
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);}}相关文章:
Atcoder ABC340 C - Divide and Divide
Divide and Divide(分而治之) 时间限制:2s 内存限制:1024MB 【原题地址】 所有图片源自Atcoder,题目译文源自脚本Atcoder Better! 点击此处跳转至原题 【问题描述】 【输入格式】 【输出格式】 【样例1】 【样例…...
趣学贝叶斯统计:概率密度分布(probability density function)
目录 1. 分布:PDF与PMFPDFPMF 2. 将概率密度函数应用于我们的问题用积分量化连续分布积分度量变化率:导数 3. R语言实践4. 小结 1. 分布:PDF与PMF PDF PDF定义在连续值上。在连续型随机变量的情况下,具体取某个数值的概率是0,因此PDF并不直…...
伦敦金行情分析需要学习吗?
对于伦敦金交易来说,目前大致分成两派,一派是实干派,认为做伦敦金交易重要的是实战,不需要学习太多东西,否则容易被理论知识所局限。另一派则是强调学习,没有理论知识,投资者很难做好伦敦金交易…...
Java实现停车场收费系统 JAVA+Vue+SpringBoot+MySQL
目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 停车位模块2.2 车辆模块2.3 停车收费模块2.4 IC卡模块2.5 IC卡挂失模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 停车场表3.2.2 车辆表3.2.3 停车收费表3.2.4 IC 卡表3.2.5 IC 卡挂失表 四、系统实现五、核心代码…...
服务器遭受 DDoS 攻击的常见迹象有哪些?
服务器遭受 DDoS 攻击的现象很常见,并且有时不容易预防,有部分原因是它们的形式多种多样,而且黑客手段越来越隐蔽。如果您怀疑自己可能遭受 DDoS 攻击,可以寻找多种迹象。以下是 DDoS 攻击的5个常见迹象: 1.网络流量无…...
【机器学习笔记】 15 机器学习项目流程
机器学习的一般步骤 数据清洗 数据清洗是指发现并纠正数据文件中可识别的错误的最后一道程序,包括检查数据一致性,处理无效值和缺失值等。与问卷审核不同,录入后的数据清理一般是由计算机而不是人工完成。 探索性数据分析(EDA 探索性数据…...
【C语言】位操作符与移位操作符练习
目录 前言: 1.一道变态的面试题 2.输入一个整数 n ,输出该数32位二进制表示中1的个数。其中负数用补码表示。 方法一: 方法二: 方法三: 3.打印整数二进制的奇数位和偶数位 前言: 前篇我们学习过C语言…...
第十四届“中关村青联杯”全国研究生数学建模竞赛-A题:无人机在抢险救灾中的优化运用
目录 摘 要: 1 问题重述 1.1 问题背景 1.2 待解决的问题 2 模型假设及符号说明...
Android 9.0 Launcher3桌面显示多个相同app图标的解决办法
1.前言 在9.0的系统ROM定制化开发中,在Launcher3的系统原生桌面中,在显示桌面的时候,在禁用和启用app的功能测试的时候,会发现有多个相同app的图标显示在桌面 这对Launcher3的体验效果不是很好,所以为了优化产品,需要解决这个bug,然后让产品更完善 2.桌面显示多个相同…...
WordPress主题YIA在广告位添加图片广告时下方有空白怎么办?
YIA主题设置中默认有4个广告位,而侧边栏的广告位由站长自行添加。boke112百科在这些广告位添加图片广告后发现图片下方有空白,导致下方的两个角没有变圆角,看起来也有点不好看。具体如下图所示: 其实,这个问题就是典型…...
5.15 BCC工具之kvm_hypercall.py解读
一,工具简介 在该示例中,我们可以了解到如何使用eBPF(扩展BPF,Berkeley Packet Filter的扩展)和bcc(BPF Compiler Collection)来分析KVM(Kernel-based Virtual Machine)中的超级调用(hypercall)。 即当exit_reason为VMCALL时,有状态的kvm_entry和kvm_exit记录以及…...
git 解除本地分支与其它分支(远程分支)的关联
开发中,我在同事的分支开一条分支,并将同事的分支作为关联分支,前两天还好,我一个人在干活,然而第3天,同事回来了,他在他那条分支也开发,这时就会出现2种情况, 1. 同时修…...
conda 所有的命令及其讲解
Conda 是一个开源的包管理器和环境管理器,可以用于安装、运行和升级跨平台的软件包和环境。Conda 很流行于数据科学、机器学习、科学计算等领域,因为它能够快速地安装、管理和部署软件包和环境。以下是 Conda 的一些主要命令及其简要说明: 环…...
mysql 数据库主从复制搭建
MySQL 主从复制主要用于实现高可用性和备份。在主从复制中,一个 MySQL 实例(称为主节点)将其数据更改复制到至少一个其他 MySQL 实例(称为从节点)上。主要借助于数据库二进制日志binlog进行数据的复制。 主从数据库对应…...
小白水平理解面试经典题目LeetCode 1025 Divisor Game【动态规划】
1025 除数游戏 小艾 和 小鲍 轮流玩游戏,小艾首先开始。 最初,黑板上有一个数字 n 。在每个玩家的回合中,该玩家做出的动作包括: 选择任意 x,使 0 < x < n 和 n % x 0 。将黑板上的数字 n 替换为 n - x 。 此…...
基于单片机的智能宠物喂食器设计
摘要:阐述智能宠物喂食器的实现方式,以STC89C52单片机为核心芯片,控制LCD的显示、语音芯片的启动和步进电机的运行。通过按键设置预设时间,当时间到达预设时间时,语音电路发出提示,步进电机工作,提供食物。此系统解决了主人由于各种原因不在家,使得宠物不能按时吃饭的问…...
探索单片机应用领域:从智能家居到工业自动化
单片机作为一种微型计算机芯片,在智能家居和工业自动化领域有着广泛的应用。以下将从智能家居和工业自动化两个方面分点论述单片机的应用。 智能家居领域: 1. 智能灯光控制: 单片机可以用于控制智能灯光系统,实现灯光的远程控制…...
Nginx介绍和使用
Nginx是一个高性能的HTTP和反向代理web服务器,其使用方法包括安装、配置以及与其他软件的配合使用。 Nginx被广泛认为是一个轻量级、占用资源少、并发处理能力强大的web服务器软件。它不仅可以作为HTTP服务器提供静态内容服务,还可以作为反向代理服务器…...
异步编程——CompletableFuture用法详解
文章目录 前言1. Future 线程池2. 什么是CompletableFuture 前言 我们异步执行一个任务时,需要用线程池Executor去创建,有两种方式: 如果不需要有返回值, 任务继承Thread类或实现Runnable接口;如果需要有返回值&…...
Linux常用命令(不断更新)
cd 切换目录 cd .. 返回上一级目录 cd ../.. 返回上两级目录 pwd 显示工作路径 ls -l 显示文件和目录的详细信息 ls -a 列出全部文件 ls -R 连同子目录的内容一起列出 ls -lh 显示权限 cp 复制 mv 移动 rm 删除 cat 查看文件内容 find 文件搜索 文件权限 …...
Claude + MS Project双引擎协同术:5分钟完成跨时区资源冲突检测与重排程,压测显示交付准时率提升41.6%
更多请点击: https://codechina.net 第一章:Claude项目管理应用技巧 Claude 作为具备强推理与长上下文理解能力的大语言模型,可深度融入项目管理全生命周期,提升需求分析、任务拆解、进度追踪与风险预判效率。关键在于将其定位为…...
Unity编辑器Play模式状态保存与还原原理详解
1. 这个插件不是“自动存档”,而是 Unity 编辑器生命周期里的状态锚点你有没有在 Unity 编辑器里调试一个带复杂初始化逻辑的 MonoBehaviour,刚把 Inspector 里十几个字段调到理想值、挂好引用、连好事件,一按 Play,对象瞬间变空—…...
CANN算子开发调试实战:从“Segmentation Fault“到定位根因的完整流程
写Ascend C算子最怕的不是编译失败——编译失败有明确的错误信息。最怕的是运行时Segmentation Fault,什么都没告诉你,NPU直接挂了。没有堆栈、没有日志、只有一行"Killed"。 这篇整理了算子开发中常见的运行时错误、调试方法、以及定位根因的…...
OpCore Simplify:一键生成OpenCore EFI的终极解决方案
OpCore Simplify:一键生成OpenCore EFI的终极解决方案 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为黑苹果配置的复杂流程头疼吗&…...
C++中多才多艺的 const
1. 定义一个常全局变量1const int global 100; // 初始化之后不可再赋值这样的global实际上是一个常量,这是C用来取代宏定义的其中一种措施,const常量有类型检测,提高编译器的效率。2. 定义常指针这有两个版本,分别是:…...
终极指南:BetterNCM插件管理器一键安装,让网易云音乐焕然新生
终极指南:BetterNCM插件管理器一键安装,让网易云音乐焕然新生 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 还在为网易云音乐功能单一而烦恼?Bett…...
Taotoken用量看板与成本管理,让团队模型开销一目了然
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken用量看板与成本管理,让团队模型开销一目了然 当团队开始将多个大语言模型应用于不同业务场景时,一…...
Python之anonymous包语法、参数和实际应用案例
一、包概述与核心功能 graphs-edjedovi是一个极简Python库(当前版本0.0.2),仅封装Dijkstra单源最短路径算法,专注于带权有向/无向图的最短路径计算,无可视化、拓扑排序等扩展能力。 核心能力:计算单个源节点…...
5分钟完成Windows 11终极优化:开源神器Win11Debloat完全指南
5分钟完成Windows 11终极优化:开源神器Win11Debloat完全指南 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter …...
如何5分钟快速配置Apple Store库存监控:终极自动化助手指南
如何5分钟快速配置Apple Store库存监控:终极自动化助手指南 【免费下载链接】apple-store-helper Apple Store iPhone预约助手 项目地址: https://gitcode.com/gh_mirrors/ap/apple-store-helper Apple Store iPhone预约助手是一个专为果粉设计的开源工具&am…...
