题目如下

在这里插入图片描述
这道题看似很简单,其实还是得观察一下,要不然就会…
在这里插入图片描述
在这里插入图片描述
话不多说回到题目,这个题的坑就在于当A,B,C三个产值相同的时候,再怎么变还是之前的产值,或者也可以通过另外一种方法理解:
通过一个案例来举例:
在这里插入图片描述
可以明显的看到,随便一个样例在经过N次变化后总会相同

在这里插入图片描述
仔细分析,通过这个图得知每次两个产值之间的差值可以近似的看为是之前差值的一半,直到N次之后差值相同,那么N怎么求呢?
根据我们题目的信息:

  • 对于 30% 的评测用例,1≤T≤100,1≤A,B,C,K≤105
  • 对于 100%的评测用例,1≤T≤105,1≤A,B,C,K≤109

K最大会到109,每次除以2,记差值为d最大为109 ,那么就有 (d = 2x)-> x= logd <=log1e9

#include<iostream>
#include<algorithm>
#include<cmath>
#include<climits>
using namespace std;
void solve(){cout << (int)log2(1e9);  // 输出 29(直接取整)cout << ceil(log2(1e9)); // 输出 30(向上取整)
}
int main()
{ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int T=1;while(T--){solve();}return 0;
} 

通过一个小小的程序,可以得到如果K向下取整得到29,向上取整得到30,取最大K等于30,所以题目要求给的 K<=109 完全就是诱导(全都是纸老虎),实际根本用不了这么多,这也是超时这么多案例的主要原因,注意!!!!由于 / 2 是 整数除法(向下取整),每次计算都会 损失精度。我们在这里行行好,给K的值提升到50
AC代码:

#include<iostream>
#include<algorithm>
#include<cmath>
#include<climits>
using namespace std;
void solve(){int a,b,c,k;int a1,b1,c1;cin>>a>>b>>c>>k;int i=0;k=min(50,k);while(k--){i++;a1=(b+c)/2;b1=(a+c)/2;c1=(a+b)/2;a=a1,b=b1,c=c1;}cout<<a<<" "<<b<<" "<<c<<'\n';
}
int main()
{ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int T;cin>>T;while(T--){solve();}return 0;
} 

也可以直接三个产值相等的时候跳出循环

#include<iostream>
#include<algorithm>
#include<cmath>
#include<climits>
using namespace std;
void solve(){int a,b,c,k;int a1,b1,c1;cin>>a>>b>>c>>k;int i=0;while(k--){i++;a1=(b+c)/2;b1=(a+c)/2;c1=(a+b)/2;a=a1,b=b1,c=c1;if(a==b&&a==c&&b==c) break;}cout<<a<<" "<<b<<" "<<c<<'\n';
}
int main()
{ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int T;cin>>T;while(T--){solve();}return 0;
} 

实测第二个写法跑的速度快一点,稳妥一点

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

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

相关文章

设计模式 | 单例模式——饿汉模式 懒汉模式

单例模式 文章目录 单例模式一、饿汉模式&#xff08;Eager Initialization&#xff09;1. 定义2. 特点3. 饿汉单例模式&#xff08;定义时-类外初始化&#xff09;4. 实现细节 二、懒汉模式&#xff08;Lazy Initialization&#xff09;1. 定义2. 特点3. 懒汉单例模式&#xf…

dify本地部署及添加ollama模型(ubuntu24.04)

说明&#xff1a;ubuntu是虚拟机的&#xff0c;用的桥接模式&#xff0c;与本地同局域网不同ip地址。 参考VM虚拟机网络配置&#xff08;ubuntu24桥接模式&#xff09;&#xff1a;配置静态IP前提&#xff1a;需要有docker及docker-compose环境 参考ubuntu24安装docker及docker…

Python爬虫实战:研究multiprocessing相关技术

一、引言 1.1 研究背景与意义 随着互联网信息的爆炸式增长,网络爬虫已成为获取海量数据的重要工具。传统的单线程爬虫在面对大规模数据采集任务时效率低下,无法充分利用现代计算机多核 CPU 的优势。多线程爬虫虽然在一定程度上提高了效率,但受限于 Python 的全局解释器锁(…

6.18 redis面试题 日志 缓存淘汰过期删除 集群

Redis有哪2种持久化方式&#xff1f;分别的优缺点是什么&#xff1f; Redis 的重写 AOF 过程是由后台子进程 bgrewriteaof 来完成的。 过期删除策略和内存淘汰策略有什么区别&#xff1f; 内存淘汰策略是在内存满了的时候&#xff0c;redis 会触发内存淘汰策略&#xff0c;来淘…

什么时候会发生内存泄漏?

1. 内存泄漏是什么&#xff1f; 定义&#xff1a;内存泄漏是指程序中的对象已经不再需要&#xff0c;但由于被其他对象错误引用&#xff0c;导致垃圾回收器&#xff08;GC&#xff09;无法回收它&#xff0c;从而长期占用内存空间的现象。 2. 内存泄漏的危害 问题具体表现内存…

用RSA算法模拟类的适配器模式

“RAS算法”这个术语本身并不常见或标准&#xff0c;它可能指向两个主要领域的不同概念&#xff0c;具体取决于上下文&#xff1a; 更可能是拼写错误&#xff1a;指 RSA 算法&#xff08;密码学&#xff09; 这是最常见的情况。 “RAS” 极有可能是 “RSA” 的拼写错误。RSA 算…

CARSIM-与C#自动化测试方案

using System; using System.Runtime.InteropServices; using System.Collections.Generic;namespace CarSimAutomation {/// <summary>/// CarSim COM 自动化测试接口/// 封装所有 CarSim COM 功能用于自动化测试/// </summary>[ComVisible(true)][ClassInterface…

企微CRM系统中的任务分配与效率提升技巧

在数字化管理时代&#xff0c;企业微信(企微)与CRM系统的深度融合&#xff0c;为企业提供了更高效的客户管理与团队协作方案。企微CRM软件不仅整合了客户沟通、销售跟进、数据分析等功能&#xff0c;还能通过智能任务分配优化团队效率。本文将深入探讨企微CRM管理系统的任务分配…

day66—BFS—最短的桥(LeetCode-934)

题目描述 给你一个大小为 n x n 的二元矩阵 grid &#xff0c;其中 1 表示陆地&#xff0c;0 表示水域。 岛 是由四面相连的 1 形成的一个最大组&#xff0c;即不会与非组内的任何其他 1 相连。grid 中 恰好存在两座岛 。 你可以将任意数量的 0 变为 1 &#xff0c;以使两座…

FramePack 安装指南(中文)

FramePack 安装指南&#xff08;中文&#xff09; -Windows FramePack 是最前沿的 AI 视频生成框架&#xff0c;以极小的硬件需求颠覆视频创作&#xff01;它能在仅 6GB 笔记本 GPU 内存上&#xff0c;驱动 13B 模型以 30 FPS 生成超长 120 秒视频&#xff0c;几乎无内容限制&…

Redis Sentinel 非集群模式高可用部署指南

1. Sentinel 在非集群模式的定位 一句话&#xff1a;在单主多从架构中&#xff0c;用 Sentinel 替你盯哨——探测故障、选举新主、通知客户端。 核心四职能&#xff1a; 职能作用点Monitoring定时 PING 主从&#xff0c;自身也互相探测Notification通过日志/PubSub/外部调用报…

2025Java面试八股文

文章目录 Java基础JVM多线程SpringSpring Boot数据库与SQL分布式系统其他 Java基础 自动装箱与拆箱&#xff1a;Java中基础数据类型与包装类之间的转换。例如&#xff0c;Integer x 1; 是装箱&#xff0c;int y x; 是拆箱。Object类常用方法&#xff1a;如clone()、getClass…

宝塔安装nginx-rtmp,音视频直播

前置&#xff1a;需要自己开发音视频直播&#xff0c; 注意不是实时音视频&#xff0c;不是一对一视频聊天&#xff0c;不是视频会议 方案有 srs &#xff0c;nginx-rtmp&#xff0c;live555&#xff0c;node-media-server&#xff0c;EasyDarwin等 今天是说 nginx-rtmp 怎么…

基于微信小程序和深度学习的宠物照片拍摄指导平台的设计与实现

文章目录 摘要前言绪论1. 课题背景2. 国内外现状与趋势2.1 国内研究现状2.2 国外研究现状2.3 发展趋势3. 课题内容相关技术与方法介绍1. 微信小程序开发技术2. 深度学习模型选型2.1 MobileNetV22.2 ResNet-503. 系统架构设计4. 关键技术实现4.1 实时拍摄指导4.2 多模态建议生成…

web布局02

Web 发展的每个不同时期都有新的技术为 Web 布局提供支持&#xff0c;但不管是哪个时期&#xff0c;Web 布局相关的概念和术语都是相同的。如果你想彻底或者更好地掌握 Web 布局&#xff0c;那么首先需要对 Web 布局相关的技术术语有所了解。 在这一节中&#xff0c;我们一起来…

Mac电脑 窗口分屏管理 Magnet Pro

Magnet Pro Mac&#xff0c;是一款功能强大的窗口分屏管理工具&#xff0c;具有多种布局模式、窗口布局功能和其他工具&#xff0c;可以帮助您高效地进行多任务处理和管理工作。 拖动窗口到边缘&#xff0c;可将窗口大小调整到屏幕的一半。拖动窗口到角落&#xff0c;可将窗口…

http2与websocket关系

HTTP/2 和 WebSocket 协议本身确实不兼容&#xff0c;不能像在 HTTP/1.1 中那样用标准 WebSocket 协议&#xff08;ws:// / wss://&#xff09;进行升级握手。但这事儿细节比较多&#xff0c;下面详细讲讲&#xff1a; ✅ HTTP/2 与 WebSocket 的关系 HTTP/2 不直接支持 WebSo…

LoRA 与 CoT 冲突吗

对于一个具有CoT 能力的模型来说&#xff0c;采用普通的数据对其进行LoRA 微调可能会使原模型丢失CoT 能力&#xff0c;从而我们进行思考如下 CoT 与 LoRA 的“冲突”理解 目标不完全一致 导致的效果优化方向&#xff1a; CoT 侧重于提高推理能力和可解释性&#xff0c;它鼓励…

Python爬虫-爬取票牛明星演唱会数据,进行数据分析

前言 本文是该专栏的第61篇,后面会持续分享python爬虫干货知识,记得关注。 本文,笔者以“票牛”平台为例。基于Python爬虫,采集“票牛”平台的明星演唱会(包含“演出城市,演出票价,演出时间”等等)的数据。 废话不多说,具体实现思路和详细逻辑,笔者将在正文结合完整…

uniapp的video遮盖了popup

video的默认层级太高&#xff0c;导致popup弹出的时候&#xff0c;部分被video遮挡了 可以利用cover-view&#xff0c;将popup以及内部所有的标签&#xff0c;全都换成cover-view&#xff0c;然后用一个变量控制其显隐 比如原始&#xff1a; 现在&#xff1a;