2^20【牛客tracker  每日一题】
2^20时间限制1秒 空间限制256M网页链接牛客tracker牛客tracker 每日一题完成每日打卡即可获得牛币。获得相应数量的牛币能在【牛币兑换中心】换取相应奖品助力每日有题做丰盈牛币日益多题目描述我似乎曾记忆化搜寻过这个地方……长途是A C M ACMACM大陆一只快乐的小男孩。今天他在c f cfcf战场上历练遭遇了T TT波丧尸长途快被丧尸咬死啦幸好他手中的两把武器都还有20 20 20 20 20^{{20}^{{20}^{20}}}20202020枚子弹一枚子弹可以击中一个丧尸武器1——【AC】每次射击可以发射一枚子弹武器2——【AK-47】每次射击可以同时朝当前每个丧尸均发射一枚子弹然而丧尸有种特殊的能力每次击中并不会死掉反而会立刻复制出一个新的丧尸长途有点绝望。幸好他发现当前这波的所有丧尸都处在一个特殊的圆盘上这个圆盘被称为圆神当丧尸的数量是2 20 2^{20}220的倍数时可以选择启动这个装置消灭当前这波的全部丧尸值得注意的是一共有T TT大波丧尸只有当一波的丧尸被全部消灭后下一波的丧尸才会出现并且手中武器的子弹数也会恢复情况很紧急长途请你帮帮他。对于每一波丧尸最少需要射击多少次才能消灭这一波的所有丧尸。若消耗完所有的子弹都无法消灭这一波的所有丧尸请输出− 1 −1−1输入描述第一行包含一个整数T TT表示长途遭遇了T ( 1 ≤ T ≤ 10 5 ) T (1≤T≤10^5)T(1≤T≤105)波丧尸对于每波丧尸仅输入一行包含一个正整数n ( 1 ≤ n ≤ 10 9 ) n (1≤n≤10^9)n(1≤n≤109)表示当前这波的丧尸数输出描述对于每波丧尸仅输出一行若消耗完所有的子弹都无法消灭这一波的所有丧尸输出− 1 −1−1否则输出消灭当前这波的所有丧尸所需要的最少射击次数示例1输入3 1048575 1048576 1输出1 0 20解题思路本题本质是模意义下的最少操作次数问题。每次操作可以令当前丧尸数n nn加1 11武器1或乘2 22武器2求使n nn变为2 20 2^{20}220倍数所需的最少操作次数。1. 问题等价转化目标条件n ≡ 0 ( m o d 2 20 ) n \equiv 0 \pmod{2^{20}}n≡0(mod220)。操作操作1ACn → n 1 n \to n1n→n1消耗一次射击。操作2AK-47n → 2 n n \to 2nn→2n消耗一次射击。子弹限制两把武器的子弹数均为天文数字20 20 20 20 20^{20^{20^{20}}}20202020远大于任何可行操作所需因此本题中子弹不会耗尽始终有解。最优化目标求从初始n nn到达目标的最少操作次数。由于目标只依赖n m o d 2 20 n \bmod 2^{20}nmod220可先将n nn对M 2 20 M 2^{20}M220取模。若余数为0 00则无需操作。否则问题变为在模M MM意义下从x n m o d M x n \bmod MxnmodM出发每次可 1 11或× 2 \times 2×2求变为0 00的最小步数。2. 算法实现枚举加法次数观察操作性质× 2 \times 2×2会放大之前所有 1 11的贡献因此最优操作序列一定将所有 1 11放在所有× 2 \times 2×2之前若某次 1 11在× 2 \times 2×2之后将其移至× 2 \times 2×2之前等价于加了0.5 0.50.5不可能更优。设我们做了i ii次 1 11得到x n i x n ixni。此后再做k kk次× 2 \times 2×2最终值为x ⋅ 2 k x \cdot 2^kx⋅2k。要使该值成为2 20 2^{20}220的倍数只需x ⋅ 2 k x \cdot 2^kx⋅2k包含至少20 2020个因子2 22。设x xx中因子2 22的个数为c cc即x xx能被2 c 2^c2c整除但不能被2 c 1 2^{c1}2c1整除则需c k ≥ 20 c k \ge 20ck≥20最小k 20 − c k 20 - ck20−c。总操作次数为i ( 20 − c ) i (20 - c)i(20−c)。由于直接做20 2020次× 2 \times 2×2i 0 , c i0, ci0,c为n nn的因子2 22个数k 20 − c k20-ck20−c总步数≤ 20 \le 20≤20。因此最优解的操作次数不可能超过20 2020枚举i ii从0 00到20 2020即可覆盖所有可能的最优解。初始r e s 20 res 20res20。遍历i ∈ [ 0 , 20 ] i \in [0, 20]i∈[0,20]计算x ( n m o d M ) i x (n \bmod M) ix(nmodM)i。计算c cc反复除以2 22直到奇数统计除的次数。更新r e s min ⁡ ( r e s , i 20 − c ) res \min(res, i 20 - c)resmin(res,i20−c)。输出r e s resres。3. 复杂度分析时间复杂度对每组数据枚举O ( L ) O(L)O(L)次L 20 L20L20总数据量T ≤ 10 5 T \le 10^5T≤105总操作量约2 × 10 6 2 \times 10^62×106非常快。空间复杂度O ( 1 ) O(1)O(1)。总结将问题转化为模2 20 2^{20}220下的最少操作次数。利用“先加后乘”的最优性质枚举 1 11的次数计算所需的× 2 \times 2×2次数取最小值。上界为20 2020保证了极低的枚举开销能够高效处理大量数据。代码简要说明常量定义L20MD 1L1048576 10485761048576。预处理若n m o d M D 0 n \bmod MD 0nmodMD0直接输出0 00。取模n ← n m o d M D n \gets n \bmod MDn←nmodMD确保n ∈ [ 1 , M D − 1 ] n \in [1, MD-1]n∈[1,MD−1]。枚举res Li从0 00到L LLx n i计算cx中2 22的幂次nd (L - c) i若nd res则更新。输出输出res。代码内容#includebits/stdc.husingnamespacestd;#defineendl\ntypedeflonglongll;typedefunsignedlonglongull;typedefvectorvectorllvvt;typedefpairll,llpll;constll N1e310;constll INF1e18;constll M1e610;constll mod1e97;voidS(){ll n;cinn;constll L20;constll MD1LLL;if(n%MD0){cout0endl;return;}n%MD;ll resL;for(ll i0;iL;i){ll xni;ll c0;while(x%20){x/2;c;}ll nd(L-c)i;if(ndres)resnd;}coutresendl;}intmain(){ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);ll T;cinT;while(T--)S();return0;}

相关新闻

42极36槽永磁同步电机设计与MotorCAD仿真优化

42极36槽永磁同步电机设计与MotorCAD仿真优化

1. 项目概述:55kW外转子式42极36槽永磁同步电机设计这个设计案例展示了一款采用MotorCAD软件实现的外转子式永磁同步电机(PMSM),额定功率55kW,极槽配合为42极36槽。这种特殊拓扑结构在电动车辆驱动、工业泵机和风力发电…

2026/7/27 3:24:41 阅读更多 →
JavaScript自执行函数(IIFE)原理与应用详解

JavaScript自执行函数(IIFE)原理与应用详解

1. 自执行函数的核心概念解析 自执行函数(Self-Executing Function),也被称为立即调用函数表达式(IIFE,Immediately Invoked Function Expression),是JavaScript中一种特殊的函数定义和执行方式…

2026/7/27 3:24:41 阅读更多 →
基于Dify和LangBot的AIOps告警处理机器人实践

基于Dify和LangBot的AIOps告警处理机器人实践

1. 项目背景与核心价值去年在金融行业做运维自动化方案时,我深刻感受到传统告警处理方式的低效——每天要处理上千条监控告警,其中70%都是重复性误报。直到接触AIOps理念后,发现结合LLM的智能分析能力可以大幅提升事件处理效率。这个项目就是…

2026/7/27 3:24:41 阅读更多 →

最新新闻

智能体技术在企业应用中的50个高价值场景解析

智能体技术在企业应用中的50个高价值场景解析

1. 智能体应用场景全景解析智能体(Agent)作为当前AI技术落地的核心载体,正在重塑各行各业的效率范式。不同于传统自动化工具,智能体具备自主感知、决策和执行能力,能够基于大语言模型(LLM)实现复…

2026/7/27 3:39:47 阅读更多 →
基于LangChain的房产销售RAG智能助手开发实践

基于LangChain的房产销售RAG智能助手开发实践

1. 项目背景与核心价值房产销售领域长期面临信息碎片化、客户咨询重复度高、专业知识门槛高等痛点。传统销售顾问需要记忆大量楼盘参数、政策法规和交易流程,而客户往往在非工作时间产生咨询需求。这个基于LangChain的智能助手项目,正是为了解决这些行业…

2026/7/27 3:39:47 阅读更多 →
基于YOLOv8与YOLOPose的智能健康管理系统开发

基于YOLOv8与YOLOPose的智能健康管理系统开发

1. 项目概述这个项目是我在原有YOLO饮食热量计算系统基础上的一次重大升级。作为一名长期关注计算机视觉应用的开发者,我发现单纯的饮食分析系统虽然实用,但缺乏对运动消耗的考量。于是,我决定将YOLOPose姿态估计技术整合进来,打造…

2026/7/27 3:39:47 阅读更多 →
Laravel集成自托管AI文本检测器:降低误报率的完整实践方案

Laravel集成自托管AI文本检测器:降低误报率的完整实践方案

在当今内容创作和学术诚信领域,AI生成文本的检测需求日益增长。很多Laravel项目需要集成可靠的AI文本检测功能,但云端API存在数据隐私和成本问题,而开源方案又常常误判人类文本。本文将完整介绍如何在Laravel中集成自托管的开源AI文本检测器&…

2026/7/27 3:39:47 阅读更多 →
终极免费图片浏览器:为什么ImageGlass成为90+格式查看的完美解决方案

终极免费图片浏览器:为什么ImageGlass成为90+格式查看的完美解决方案

终极免费图片浏览器:为什么ImageGlass成为90格式查看的完美解决方案 【免费下载链接】ImageGlass 🏞 A fast, open-source, modern image viewer for 90 formats – including WEBP, GIF, SVG, AVIF, JXL, HEIC and more – built for smooth browsing a…

2026/7/27 3:39:47 阅读更多 →
利用AI修复Blender插件并开发Unity导出工具实战

利用AI修复Blender插件并开发Unity导出工具实战

在游戏开发和三维内容制作流程中,Blender 和 Unity 是两款核心工具。Blender 负责建模、骨骼绑定和动画制作,而 Unity 则负责将这些资产整合到游戏或交互应用中。然而,从 Blender 导出模型、骨骼、动画到 Unity 中,常常会遇到法线…

2026/7/27 3:38:47 阅读更多 →

日新闻

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →
SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

1. 项目概述:从寄存器手册到实战指南 如果你手头有一份类似德州仪器(TI)TMS320x240xA系列DSP的SPI模块技术手册,看着里面密密麻麻的寄存器位定义、时序图和公式,是不是感觉头大?这份资料虽然权威&#xff0…

2026/7/27 0:00:54 阅读更多 →
【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

月新闻