当前位置: 首页 > news >正文

【洛谷】P11036 【MX-X3-T3】「RiOI-4」GCD 与 LCM 问题 的题解

【洛谷】P11036 【MX-X3-T3】「RiOI-4」GCD 与 LCM 问题 的题解

题目传送门

题解

神奇构造题qaq

简化一下下题目,就是要求 a + b + c + d = gcd ⁡ ( a , b ) + lcm ⁡ ( c , d ) a + b + c +d = \gcd(a, b) + \operatorname{lcm}(c,d) a+b+c+d=gcd(a,b)+lcm(c,d)

分类讨论

  • 考虑 a a a 为奇数的情况

b = a b = a b=a,则 gcd ⁡ ( a , b ) = a \gcd(a,b)=a gcd(a,b)=a lcm ⁡ ( c , d ) = a + c + d \operatorname{lcm}(c,d)=a+c+d lcm(c,d)=a+c+d。如果令 d = 2 d=2 d=2 lcm ⁡ ( c , 2 ) = 2 c \operatorname{lcm}(c,2)=2c lcm(c,2)=2c,显然 c = a + 2 c=a+2 c=a+2。构造 ( a , a , a + 2 , 2 ) (a,a,a+2,2) (a,a,a+2,2)

  • 考虑 a a a 为任意数的情况

b = a b=a b=a,打表观察得四元组 ( a , a , 2 lowbit ⁡ ( a ) , a + 2 lowbit ⁡ ( a ) ) (a,a,2\operatorname{lowbit}(a),a+2\operatorname{lowbit}(a)) (a,a,2lowbit(a),a+2lowbit(a))

具体实现可以直接枚举,时间复杂度 O ( log ⁡ V ) O(\log V) O(logV),我用的是 lowbit ⁡ ( a ) \operatorname{lowbit}(a) lowbit(a),比较保险,毕竟时间卡的挺死的,时间复杂度 O ( 1 ) O(1) O(1)

代码

#include <bits/stdc++.h>
#define lowbit(x) x & (-x)
#define endl "\n"
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
namespace fastIO {inline int read() {register int x = 0, f = 1;register char c = getchar();while (c < '0' || c > '9') {if(c == '-') f = -1;c = getchar();}while (c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();return x * f;}inline void write(int x) {if(x < 0) putchar('-'), x = -x;if(x > 9) write(x / 10);putchar(x % 10 + '0');return;}
}
using namespace fastIO;
int a, c, t;
int main() {//freopen(".in","r",stdin);//freopen(".out","w",stdout);t = read(); for(int i = 1; i <= t; i ++) { a = read();c = (lowbit(a)) << 1; write(1), putchar(' '), write(c), putchar(' '), write(c + a), putchar('\n'); }return 0;
}
http://www.lryc.cn/news/440724.html

相关文章:

  • MyBatis系统学习(三)——动态SQL
  • get_property --Cmakelist之中
  • 【Redis】Redis 典型应用 - 分布式锁原理与实现
  • Pybind11的使用
  • 鸿蒙-沉浸式pc端失效
  • 【资料分析】刷题日记1
  • nodejs+express+vue教辅课程辅助教学系统 43x2u前后端分离项目
  • 96-javahashmap底层原理
  • AI逻辑推理入门
  • 力扣3014.输入单词需要的最少按键次数I
  • 【Git】远程仓库
  • 苹果手机铃声怎么设置自己的歌?3个方法自定义手机铃声
  • 828华为云征文|华为Flexus云服务器搭建Cloudreve私人网盘
  • 【AI学习】AI绘画发展简史
  • 使用LangChain创建简单的语言模型应用程序【快速入门指南】
  • 嵌入式人工智能项目及人工智能应用项目——大合集列表查阅
  • 心觉:成功学就像一把刀,有什么作用关键在于使用者(一)
  • GAMES101(10节,几何)
  • Android 中音频焦点的使用场景及示例
  • 2. JDBC驱动是什么?如何在Java项目中配置MySQL的JDBC驱动?
  • Nginx 跨域 + 无法设置 Cookie 解决办法
  • 北森笔试测评之言语理解到底难不难
  • Ubuntu下beanstalkd无法绑定局域网IP地址以及消息队列beanstalkd上的error: JOB_TOO_BIG的解决
  • 网络原理(3)—— 应用层、传输层(TCP)
  • Flutter - Win32程序是如何执行main函数
  • linux-系统管理与监控-日志管理
  • VulhubDC-4靶机详解
  • [数据集][目标检测]烟叶病害检测数据集VOC+YOLO格式612张3类别
  • Sapiens——人类视觉大模型的基础
  • 《深度学习》【项目】 OpenCV 身份证号识别