洛谷 P9532 [YsOI2023] 前缀和

题目背景

Ysuperman 模板测试的试机题。

小心立秋,小心秋丽。

题目描述

立秋有一个长度为 n 的数组 a,所有数字都是正整数,并且除了其中第一个数字以外其它数字都等于前面所有数字的和。

例如,数组 [1,1,2,4,8,16] 就有可能是立秋有的一个数组,因为除了第一个数字 1,后面的每个数字都是前面数字的和,例如:

  • 第二个数字 1=1。
  • 第三个数字 2=1+1。
  • 第四个数字 4=1+1+2。
  • 第五个数字 8=1+1+2+4。
  • 第六个数字 16=1+1+2+4+8。

现在立秋告诉了秋丽数字 x 存在于这个数组中,秋丽希望知道 an​ 最小会是多少,或者说整个数组最后一个数字最小有多少。

输入格式

本题有多组测试数据。

输入第一行一个数字 T 表示测试数据组数。

接下来 T 行每行两个正整数 n,x。

输出格式

输出共 T 行,分别表示每组测试数据的答案。

对于某组数据 n,x,输出一行一个正整数表示可能的最小的 an​。

输入输出样例

输入 #1

3
2 2
3 2
4 2

输出 #1

2
2
4

输入 #2

3

3 1

3 2

3 4

输出 #2

2
2
4

输入 #3

3
2 6
3 6
4 6

输出 #3

6
6
12

输入 #4

3
3 3
3 6
3 12

输出 #4

6
6
12

思路

依题意,设有长为n的数组,将第一个数设为x,提出x的系数,得

[1x,1x,2x,4x,8x,16x,32x,64x,......,2^{n-2}x]

设输入的数是s,那么要让s在数组的位置尽可能地靠后放。分类讨论:

(1)当s为奇数时(即s%2 = 1),s == x,再求2^{n-2}s 即可得正确答案;

(2)当s为2^{n-2}的倍数时,x=s/2^{n-2},再求2^{n-2}x 即可得正确答案;

(3)当s不符合(1)或(2)的条件时,i遍历1~n-2,找出最大的且2^{i-2}为s的因数的i,再用s/2^{n-2}得x,再求2^{n-2}s 即可得正确答案;

源代码

#include<bits/stdc++.h>using namespace std;int main()
{long long n,x,t,a;cin>>t;for(int i=1;i<=t;i++){cin>>n>>x;if(x%2==1){if(n<=2){printf("%lld\n",x);continue;}long long p=1;p=pow(2,n-2);long long s=x*p;printf("%lld\n",s);continue;}if(n<=2){printf("%lld\n",x);continue;}for(int j=n-2;j>=1;j--){int c=pow(2,j);if(x/c == x/(double(c))){a=x/c;break;}}long long p=1;p=pow(2,n-2);printf("%lld\n",p*a);}return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于U-Net的图像分割算法介绍

U-Net是一种用于图像分割的深度学习架构,其设计初衷是用于生物医学图像分割,尤其是医学影像中的细胞分割任务。U-Net结构独特,具有编码器-解码器结构,能够有效地捕捉图像中的局部和全局信息,并在像素级别上进行精确的分割。 相关论文: U-Net: Convolutional Networks for…

RISCV指令集体系简读之RV32I

RV32I 指令格式 用于寄存器-寄存器操作的R类型指令用于短立即数和访存load操作的I型指令用于访存store操作的s型指令用于条件跳转操作的B类型指令用于长立即数的U型指令用于无条件跳转的J型指令 特点&#xff1a; 所有指令都是32bits&#xff0c; 简化了指令解码&#xff1b;…

Python数据可视化库—Bokeh与Altair指南【第161篇—数据可视化】

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 在数据科学和数据分析领域&#xff0c;数据可视化是一种强大的工具&#xff0c;可以帮助我们…

Mac电脑安装蚁剑

1&#xff1a; github 下载源码和加载器&#xff1a;https://github.com/AntSwordProjectAntSwordProject GitHubAntSwordProject has 12 repositories available. Follow their code on GitHub.https://github.com/AntSwordProject 以该图为主页面&#xff1a;antSword为源码…

关于SpringCloud,你了解多少?

Why SpringCloud&#xff1f; Spring cloud 是一系列框架的有序集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发&#xff0c;如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等&#xff0c;都可以用 spring boot 的开发风格做到一…

MercadoLibre(美客多)入仓预约系统操作流程-自动化约号(开篇)

目录 一、添加货件信息 二、输入货件信息 三、选择发货 四、填写交货日期 五、注意事项 MercadoLibre&#xff08;美客多&#xff09;于2021年10月18号上线了新预约入仓系统&#xff0c;在MercadoLibre美客多平台上&#xff0c;新入仓预约系统是一项非常重要的功能&#x…

通用设计的四大原则,大厂设计师带案例讲解!

作为数字产品设计师&#xff0c;在进行产品设计时要考虑产品的各种因素&#xff0c;例如功能、美观、安全等&#xff0c;要尽可能地满足所有用户的需求&#xff0c;做出对所有用户都尽可能公平的解决方案。但是&#xff0c;对于新手来说&#xff0c;在实际进行产品设计时&#…

Cesium 无人机航线规划

鉴于大疆司空平台和大疆无人机app高度绑定&#xff0c;导致很多东西没办法定制化。 从去年的时候就打算仿大疆开发一套完整的平台&#xff0c;包括无人机app以及仿司空2的管理平台&#xff0c;集航线规划、任务派发、实时图像、无人机管理等功能的平台。 当前阶段主要实现了&…

Redis中的BigKey

Redis中的BigKey 文章目录 Redis中的BigKey什么是BigKey&#xff1f;BigKey的危害找到Bigkey删除BigKey优化BigKeyBigKey对持久化的影响对AOF日志的影响对AOF重写和RDB的影响 什么是BigKey&#xff1f; 大 key 并不是指 key 的值很大&#xff0c;而是 key 对应的 value 很大。…

【GPU】冲击高性能

计算量估计 卷积神经网络复杂度分析 卷积神经网络CNN中的参数量&#xff08;parameters&#xff09;和计算量&#xff08;FLOPs &#xff09; Roofline Model Roofline Model与深度学习模型的性能分析 有了上面这些基础知识&#xff0c;再来往下分析会更有收获 发现问题 — …

六、数据呈现

目录 6.1 理解输入输出 6.1.1 标准文件描述符 1 STDIN &#xff08;0&#xff09; 2 STDOUT &#xff08;1&#xff09; 3 STDERR&#xff08;2&#xff09; 6.1.2 重定向错误 1 只重定向错误 2 重定向错误和数据 6.2 在脚本中重定向输出 6.2.1 临时重定向 6.2.2 永…

汇智知了堂学员风采:网络安全学习之路,我们在行动

在这个数字化浪潮汹涌的时代&#xff0c;网络安全已经成为维护国家安全、社会稳定和个人隐私的重要一环。汇智知了堂深知网络安全人才的重要性&#xff0c;因此我们致力于培养具备扎实技术功底和创新能力的网络安全人才。 近日&#xff0c;我们网络安全培训班74部的学员们迎来…