优秀的拆分C++

题目:

 


  样例解释:

样例1解释

6=4+2=22+21 是一个优秀的拆分。注意,6=2+2+2 不是一个优秀的拆分,因为拆分成的 3 个数不满足每个数互不相同。


思路:

题目大致意思是说给定一个正整数NN,让你用二进制表示(但不包括2020),又因为我们可以证明二进制可以表示任何整数,所以在题目中,只要是偶数,就是“优秀的拆分”,因此,如果NN为奇数,就可以直接排除,即输出−1−1。

接着我们来看NN为偶数的情况,由于二进制有其专有的特性,就是说如果能取大的,就尽量取大的,因此我们只需要从最大的二的正整数幂找起,然后一次次除以二,一直除到二时,就可以结束。

于是我们用aiai​来表示二的ii次幂,所以只要用boolbool型来存即可。

 


代码:

#include<bits/stdc++.h>
using namespace std;const int maxn=100005;int n;long long now=1; //now代表二的次数幂。 bool a[105];int main()
{//freopen("power.in","r",stdin);//freopen("power.out","w",stdout);scanf("%d",&n);if (n%2!=0){printf("-1");return 0;} //如果n为奇数,直接输出-1。 int i=0; //i用来存最高次数。 while(now*2<=n){now*=2;i++;} //先将最大的幂求出来。 int i1=i; //这里不能直接用i,后面还要用到。 while(now>1){if (n-now>=0){a[i1]=1;n-=now;}i1--;now/=2;} //看每一次数有没有。 for (register int j=i;j>=1;--j){if (a[j]==0) continue;long long ans=pow(2,j);printf("%lld ",ans);} //最后在输出拆分出来的,记住从大到小。 return 0; 
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1550519.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

PDCA优化任务流程

这里写目录标题 一、背景二、PDCA重要性与必要性概念PDCA循环的重要性 三、PDCA分析这次任务的执行任务描述分析原因&#xff1a;结合PDCA分析&#xff1a;提高办法&#xff1a; 四、总结 一、背景 汇报任务完成情况&#xff0c;未提交实际成果。 本次总结旨在通过PDCA循环的视…

鸿蒙开发(NEXT/API 12)【硬件(振动开发1)】振动

通过最大化开放马达器件能力&#xff0c;振动器模块服务拓展了原生马达服务&#xff0c;实现了振动与交互融合设计&#xff0c;从而打造出细腻精致的一体化振动体验和差异化体验&#xff0c;提升用户交互效率、易用性以及用户体验&#xff0c;并增强品牌竞争力。 运作机制 Vi…

学习docker第二弹------基本命令[帮助启动类命令、镜像命令、容器命令]

docker目录 前言基本命令帮助启动类命令停止docker服务查看docker状态启动docker重启docker开机启动docker查看概要信息查看总体帮助文档查看命令帮助文档 镜像命令查看所有的镜像 -a查看镜像ID -q在仓库里面查找redis拉取镜像查看容器/镜像/数据卷所占内存删除一个镜像删除多个…

机器学习:opencv--背景建模

目录 一、背景建模是什么&#xff1f; 二、背景建模的目的 三、背景建模的方法及原理 四、代码实现 1.创建卷积核 2.创建混合高斯模型 3.处理图像 4.绘制人形轮廓 5.条件退出 一、背景建模是什么&#xff1f; 指在计算机视觉中&#xff0c;从视频序列中提取出静态背景…

Anaconda虚拟环境默认路径在C盘怎么更改

笔者已经新建好了虚拟环境并且安装了对应库&#xff0c;输入conda env list查询发现虚拟环境竟然安装到了C盘(&#xff61;•́︿•̀&#xff61;)&#xff0c;为避免下一次创建虚拟环境出错&#xff0c;笔者现在修改默认路径置D盘&#xff08;软件安装盘&#xff09; 参考两…

ROS学习笔记(四):使用 `ros2 run usb_cam usb_cam_node_exe` 启动 USB 摄像头

文章目录 前言1 安装 usb_cam 包2 启动 USB 摄像头3 订阅相机发布的节点信息并进行可视化3.1 使用 rqt_image_view3.2 使用 image_view3.3 使用 rviz 4 常见问题与解决方案4.1 摄像头未被识别4.2 相机显示异常4.3 如何指定不同的相机4.4 摄像头参数调整 5. 调试信息 5. 结论 前…

pyboard405意外故障,micropython OLED例程无法运行,折腾了大半天。

thonny报告&#xff1a; Traceback (most recent call last): File "<stdin>", line 3, in <module> RuntimeError: name too mode # main.py -- put your code here! from machine import I2C,Pin #从machine模块导入I2C、Pin子模块 from ss…

SpringBoot项目请求不中断动态更新代码

在开发中&#xff0c;有时候不停机动态更新代码热部署是一项至关重要的功能&#xff0c;它可以在请求不中断的情况下下更新代码。这种方式不仅提高了开发效率&#xff0c;还能加速测试和调试过程。本文将详细介绍如何在 Spring Boot 项目在Linux系统中实现热部署&#xff0c;特…

MySQL - 运维篇

一、日志 1. 错误日志 2. 二进制日志 3. 查询日志 记录了所有的增删改查语句以及DDL语句 4. 慢查询日志 二、主从复制 1. 概述 2. 原理 3. 搭建 三、分库分表 1. 介绍 2. Mycat概述 3. Mycat入门 4. Mycat配置 5. Mycat分片 6. Mycat管理及监控 四、读写分离 1. 介绍 2. 一…

PostgreSQL的安装与使用指南

PostgreSQL,简称Postgres,是一个功能强大的开源对象-关系数据库系统。它以其稳定性、可靠性、数据完整性以及对SQL标准的严格遵循而著称,广泛应用于各种规模的企业级应用、Web应用和数据仓库中。本文将详细介绍PostgreSQL在不同操作系统上的安装、配置及基本使用方法。 一、…

html+css+js实现Tabs标签页

实现效果 HTML部分 <div class"tab"><ul class"tab-nav"><li><a href"#" class"active" >用户管理</a></li><li><a href"#" >配置管理</a></li><li>&l…

毕业论文设计javaweb+VUE高校教师信息管理系统

目录 一、系统概述 二、功能详解 1. 教师管理 2. 部门管理 3. 奖惩管理 4. 业绩管理 5. 培训管理 6. 报表查询 三、总结 四、示例代码 1 前端VUE 2 后端SpringBootjava 3 数据库表 随着教育信息化的发展&#xff0c;传统的手工管理方式已经不能满足现代学校对教师…

程序员的自我修养(链接、装载与库)--摘录与汇总(一)

指令和地址分开原因&#xff1a;&#xff08;P59&#xff09; 1、独立权限&#xff0c;防止程序指令非预期改写 程序装载后&#xff0c;数据和指令分别被映射到两个虚存区域。由于数据区域对于进程来说是可读写的&#xff0c;而指令区域对于进程来说是只读的&#xff0c;所以…

系统数据文件和信息

系统数据文件和信息 Unix 系统的正常运行需要使用大量与系统有关的数据文件&#xff0c;例如&#xff0c;口令文件 /etc/passwd 和组文件 /etc/group 都是经常被多个程序频繁使用的两个文件。用户每次登录 Unix 系统以及每次执行 ls -l 命令时都要使用口令文件。 /etc/passwd…

【设计模式-命令】

定义 命令模式&#xff08;Command Pattern&#xff09;是一种行为设计模式&#xff0c;它将请求封装为一个对象&#xff0c;从而使您能够使用不同的请求、排队请求或记录请求&#xff0c;并支持可撤销的操作。该模式通过将请求与其执行分离&#xff0c;使得请求者和接收者之间…

第十四周学习周报

目录 摘要Abstract1. LSTM的代码实现2. 序列到序列模型3. 梯度与方向导数总结 摘要 在上周的学习基础之上&#xff0c;本周学习的内容有LSTM的代码实现&#xff0c;通过对代码的学习进一步加深了对LSTM的理解。为了切入到transformer的学习&#xff0c;本文通过对一些应用例子…

AGI时代存内计算芯片的语音识别之旅 —— 知存科技开发板体验与感悟

目录 一、简介 二、活动内容 2.1 多模态时代&#xff0c;存内计算框架的应用与发展 1、多模态时代计算需求 2、存内计算技术 3、知存科技存内产品 2.2 分布式环境下深度学习任务的高效可靠执行研究 基于强化学习的流水线分布式训练调度方案&#xff08;PG-MPSS&#xf…

前端工程规范-4:Git提交前代码规范检查(Husky + Lint-staged)

Git提交前代码规范检查 在前端项目开发中&#xff0c;规范git提交信息&#xff0c;也是经常使用的手段&#xff0c;如何确保团队成员都遵循ESint规则&#xff0c;且不会将不符合规范的代码推送到Git仓库&#xff1f; 答案是&#xff1a;使用带有git hooks功能的husky。git hoo…

【LLM大模型】Ollama 运行 GGUF 模型

Ollama 默认直接支持很多模型&#xff0c;只需要简单的使用 ollama run命令&#xff0c;示例如下&#xff1a; ollama run gemma:2b就可安装、启动、使用对应模型。 通过这样方式直接支持的模型我们可以通过https://ollama.com/library 找到。 在https://huggingface.co/mod…

大端、小端区分与判断

大小端的判断是根据系统如何存储二进制数据来判断的 大端顾名思义&#xff0c;以数据的高位做开端的操作系统、小端也是以数据的低位做开端的操作系统 用最简单的例子&#xff1a; 对于数据0x01来说&#xff0c;高位为0低位为1&#xff0c;转十进制&#xff1a; 0x01 0 * 1…