#P00573. 冲锋#P00574. 冲锋2

news2024/11/23 18:28:55

一,#P00573. 冲锋

Description

J将军正在组织他手下的士兵攻击敌人。J将军发现不能让所有的士兵一次性压上。而是应该分成若干个梯队,这些梯队的人数最好形成连续的正整数。例如当他手下有15个士兵时。他应该有以下几种分法

15=1+2+3+4+5

15=4+5+6

15=7+8

但他同时也发现如果手上只有4个士兵时,则无法进行这样的分解。 现在给出J将军手下的士兵人数N,请问他能不能进行分解

Format

Input

一行给出数字N

Output

如果能分解就输出“YES”,否则输出"NO"

Samples

输入数据 1

15

Copy

输出数据 1

YES

二,题目意思分析

意思就是给你一个数字,请问它能否成为一个公差为1的等差数列之和。


三,思路 

结论:2的次方一定不可以,其他的都可以。

有两种可能:

1.如果n是奇数   那么是绝对能进行分解的,因为奇数可以看成是2*n+1,也可以看成是n+(n+1)

2.如果n是偶数   如10,10可以分为2*5.其中5为奇数,2*5的乘法说明了10可以分为两组数,每组和为5,即2和3,1和4;又如98,98=2*49=2*7*7=14*7,提示其可分为4组,每组平均值为14,即11,12,13,14,15,16,17,以此类推,只要一个不能写成若干奇数与偶数相乘之积的形式的数就不可以进行分解,也就是能写成若干个2相乘的形式的数就不可以


四,代码

#include <bits/stdc++.h>
using namespace std;
int n,t,g;
int main()
{
  cin>>n;
  while(n % 2 == 0) n /= 2;
  if(n == 1) cout<<"NO";
  else cout<<"YES";
  return 0;
}







 一, #P00574. 冲锋2

Description

J将军正在组织他手下的士兵攻击敌人。J将军发现不能让所有的士兵一次性压上。而是应该分成若干个梯队,这些梯队的人数最好形成连续的正整数。例如当他手下有15个士兵时。他应该有以下几种分法

15=1+2+3+4+5

15=4+5+6

15=7+8

但他同时也发现如果手上只有4个士兵时,则无法进行这样的分解。 现在给出J将军手下的士兵人数N,请问他能不能进行分解,如果可以则输出分解的方案

Format

Input

一个正整数

Output

输出符合题目描述的全部正整数序列 每行一个序列,每个序列都从该序列的最小正整数开始、以从小到大的顺序打印。 如果结果有多个序列,按各序列的最小正整数的大小从小到大打印各序列。 此外,序列不允许重复,序列内的整数后面有一个空格。如果没有符合要求的序列,输出 "NONE"。

Samples

输入数据 1

15


Copy

输出数据 1

1 2 3 4 5 
4 5 6 
7 8

 二,分析题意

可以看出,这道题就是上一题的举一反三,因为它还让我们输出所有方案。


三,思路

首先,无解的情况判断和上题一样

因为等差数列求和公式为(头+尾) *个数/ 2,答案为输入的数n
那么相当于知道n,求有没有头,尾,个数可以满足上述公式。
但枚举头,尾,个数求是否等于会超时
所以在这里因为该数列公差一定为1, 所以尾=头+个数-1
代入公式,得到(2*头+个数-1)*个数/ 2=n
但是如果枚举头和个数时间复杂度为O(n^2),仍会超时,所以要继续推
我们在这里是已知n的,那么可否通过n和个数推出头呢?
将前面的公式解括号变成(2*头*个数+个数^2一个数) / 2=n
再变成头*个数+ (个数^2/2-个数/ 2)=n
头*个数=n-个数^2/ 2+个数/ 2
头= (n-个数^2/2 +个数/2) /个数
(n-个数^2/ 2 +个数/ 2)/个数=头
那么,我们就只需枚举个数,就可求出头,也就可以求出等差数列的和以及判断和是否为n等操作了。


四,代码

#include <bits/stdc++.h>
using namespace std;
int n,t,op;
vector<int>vec[100001];
int main()
{
  cin>>t;
  n = t;
  while(t % 2 == 0) t /= 2;
  if(t == 1) cout<<"NONE";//无解
  for(int g = 1; g <= n; g++)//枚举等差数列数字个数
  {
    t = (n - (g * g) / 2 + g / 2) / g;//求出头
    int w = t + g - 1;//求出尾
    if(t == 0 || t >= n) continue;//头不能为0,也不能>=n
    int p = (t + w) * g / 2;//求出等差数列的和
    if(p == n)//如果等差数列的和等于n,说明找到了一个解
    {
      for(int k = t; k <= t + g - 1; k++) vec[op].push_back(k);//存进解数组中
      op++;
    }
    else if(p > n) break;//剪枝
  }
  for(int i = op - 1; i >= 0; i--)//输出结果
  {
    for(int j = 0; j < vec[i].size(); j++)
      cout<<vec[i][j]<<" ";
    cout<<endl;
  }
  return 0;
}

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

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

相关文章

【C++进阶】特殊类设计

&#x1f387;C学习历程&#xff1a;入门 博客主页&#xff1a;一起去看日落吗持续分享博主的C学习历程博主的能力有限&#xff0c;出现错误希望大家不吝赐教分享给大家一句我很喜欢的话&#xff1a; 也许你现在做的事情&#xff0c;暂时看不到成果&#xff0c;但不要忘记&…

vue书写一个uni-app小程序

在本次文章中我来大致向大家介绍一下如何使用Hbuilder X来编写一个uni-app的小程序的项目&#xff0c;在此我只说编写的方法与方向&#xff0c;具体的操作留给大家去亲自实操哦。 1.起步&#xff08;创建一个uni-app框架&#xff09;&#xff1a; 首先&#xff0c;我们需要把…

低代码破解了软件开发“不可能三角”?我做了个测评...

老读者知道&#xff0c;K哥写了10几年代码&#xff0c;后来转做技术管理&#xff0c;现在是上市公司的技术高管。在我们软件行业有一条铁律&#xff1a;长周期、大规模的软件研发过程当中&#xff0c;想要维持良好的运作&#xff0c;需要解决&#xff1a;成本、效能、质量。而且…

Doris-查询(三)

目录1、查询设置1.1、增大内存1.2、修改超时时间1.3、查询重试和高可用1.3.1 代码方式1.3.2 JDBC Connector1.3.3 ProxySQL 方式2、简单查询3、Join查询3.1 Broadcast Join3.2 Shuffle Join&#xff08;Partitioned Join&#xff09;3.3 Colocation Join3.3.1 原理3.3.2 使用3.…

数字孪生电力3D可视化管控平台

当前&#xff0c;新一轮科技革命和产业变革加速演进&#xff0c;物联网、大数据、云计算、人工智能、5G等新一代信息技术快速发展。在众多技术手段中&#xff0c;数字孪生技术以虚实结合为主&#xff0c;架起虚拟世界与现实世界之间沟通的桥梁&#xff0c;为人们提供了更加便捷…

分享5款可以录屏的软件,录屏幕视频软件,亲测好用

很多小伙伴都会使用电脑来作为自己办公、娱乐、学习生活的工具。在电脑上安装录屏软件&#xff0c;可以轻松的协助我们进行网课录制、会议录制、影剧片段录制等。网络上的录屏软件有很多&#xff0c;今天小编分享5款亲测好用的录屏软件&#xff0c;一起来看看吧。 可以录屏的软…

数据结构进阶 二叉搜索树

作者&#xff1a;小萌新 专栏&#xff1a;数据结构进阶 作者简介&#xff1a;大二学生 希望能和大家一起进步&#xff01; 本篇博客简介&#xff1a;介绍二叉搜索树并且模拟实现之 二叉搜索树二叉搜索树的概念节点类二叉搜索树类私有成员构造函数拷贝构造函数赋值运算符重载函数…

若想学 HTML,应从何入手?

前言 个人信息&#xff1a; 大三 工商管理 逻辑算清晰 无编程基础 想学网页设计&#xff0c;打算从HTML开始 。 下面是问题&#xff1a; 需要先学一些更基础的语言&#xff08;如C之类的&#xff09;吗&#xff1f;有何建议&#xff1a; &#xff08;1&#xff09;看哪些书、泡…

无忧·企业邮筒功能介绍

应用介绍 企业邮筒&#xff0c;基于B/S模式的邮件客户端&#xff0c;采用JVS的统一用户体系&#xff0c;作为JVS的协同办公的应用之一。 产品特点 私有化部署、支持多邮件账户、将多个邮件客户端统一为web操作、 软件架构 软件架构说明&#xff0c;JVS-mailbox是作为JVS基…

服装实体店运营需要的所有软件,合集在此!(建议收藏)实体店运营 实体店运营干货 实体店运营全流程所需系统推荐

随着信息化普及程度越来越高&#xff0c;各行各业的运转速度都在加快&#xff0c;做生意的老板们也开始发现&#xff0c;单靠以前的人工管理已经完全不够用了。 尤其是服装实体店&#xff0c;款式分类多&#xff0c;库存又容易挤压&#xff0c;更加需要有科学的手段去管控日常的…

MyBatis学习 | 缓存机制

文章目录一、一级缓存1.1 简介1.2 一级缓存的失效情况二、二级缓存2.1 简介2.2 二级缓存的使用学习地址&#x1f517; https://www.bilibili.com/video/BV1mW411M737https://www.bilibili.com/video/BV1NE411Q7Nx官网文档 一、一级缓存 1.1 简介 &#x1f4ac;概述&#xff1…

Spring与SpringBoot

目录 前言 1、Spring能做什么 1.1、Spring的能力 1.2、Spring的生态 1.3、Spring5重大升级 1.3.1、响应式编程 1.3.2、内部源码设计 2、为什么用SpringBoot 2.1、SpringBoot优点 2.2、SpringBoot缺点 3、时代背景 3.1、微服务 3.2、分布式 分布式的困难 分布式的…

迪文DGUS智能屏如何轻松实现3D动画

三维立体的视觉效果已经被广泛应用于人机交互中&#xff0c;三维图形逼真的显示效果往往可以更加直接的传递出视觉信息&#xff0c;减少用户的信息解读门槛。 传统的三维立体静态、动态画面的显示往往对于 GPU 的图像处理性能、显示带宽有较高要求&#xff0c;GPU 需要完成图形…

使用gs_probackup进行数据库物理备份与恢复

概述 物理备份与恢复适用于数据量大的场景&#xff0c;主要用于全量数据备份恢复&#xff0c;也可对整个数据库中的WAL归档日志和运行日志进行备份。openGauss提供了三种物理备份与恢复相关的工具&#xff1a;gs_backup、gs_basebackup和gs_probackup。三个工具的对比见下图。…

基于FPGA的时间数字转换(TDC)设计(二)

1、多相位TDC计时FPGA代码设计 接上期的讲解,本期主要讲多相位TDC计时的FPGA代码实现。图1为TDC测量实现系统图。时间信号经过探测器后,转换为电信号,一般探测器出来的信号幅度和脉宽都比较小,需要时间鉴别器进行比较和整形,以便于FPGA能够识别。经过FPGA TDC计时模块后,…

RabbitMQ:订阅模型-消息订阅模式

订阅模型-消息订阅模式&#xff0c;也可以称为广播模式&#xff0c;生产者将消息发送到 Exchange&#xff0c;Exchange 再转发到与之绑定的 Queue中&#xff0c;每个消费者再到自己的 Queue 中取消息。 RabbitMQ 单生产单消费模型主要有以下五个角色构成&#xff1a; 生产者&am…

机器学习10大经典算法详解

“数据算法模型”。 面对具体的问题&#xff0c;选择切合问题的模型进行求解十分重要。有经验的数据科学家根据日常算法的积累&#xff0c;往往能在最短时间内选择更适合该问题的算法&#xff0c;因此构建的模型往往更准确高效。本文归纳了机器学习的10大算法&#xff0c;并分别…

Python基础语法(一)

Python基础语法 文章目录Python基础语法基础语法变量的语法(1) 定义变量(2) 使用变量变量的类型(1) 整数(2) 浮点数(小数)(3) 字符串(4) 布尔(5) 其他动态类型特性输入输出注释通过控制台输出通过控制台输入运算符算术运算符关于除法// 取整除法关系运算符逻辑运算符关于短路求…

美格智能Cat.1无线POS终端解决方案,引领消费支付新场景

近年来&#xff0c;随着我国移动互联网的蓬勃发展和智能手机的快速渗透&#xff0c;移动支付在我国全面普及。尤其是后疫情时代下&#xff0c;无接触观念的普及&#xff0c;使我国消费市场形成了以移动支付为主的消费习惯&#xff0c;并催生了万千移动支付场景终端的数字化、智…

磁盘被写保护怎么办?5个方案解除它

硬盘、移动硬盘、U盘、SD卡和TF卡&#xff08;也称为手机存储卡&#xff09;具有写保护功能。当它们出现写保护的状态&#xff0c;我们就没有办法在里面写入数据。具体而言&#xff0c;就是无法保存和删除文件。磁盘被写保护怎么办&#xff1f;你需要下面5个方案帮助你&#xf…