hdu 7092 仓颉造数

分析:

  • 先考虑一个问题,若平均数能转换成 111 ,那么调和平均数也能转换成 111 ,反之亦然

    所以,问题就转换成了,生成平均数,判断平均数是否会出现 111 ,至于能能否在 999999999999999999999999999999999999 天内完成,就先不考虑(因为对答案没有什么影响,都这么大了…)

  • 生成平均数(打表找规律)

  1. ab,ba\frac{a}{b},\frac{b}{a}ba​,ab​

  2. ab,ba,a2+b22ab\frac{a}{b},\frac{b}{a},\frac{a^2+b^2}{2ab}ba​,ab​,2aba2+b2​

  3. ab,ba,a2+b22ab,a2+3b24ab,3a2+b24ab\frac{a}{b},\frac{b}{a},\frac{a^2+b^2}{2ab},\frac{a^2+3b^2}{4ab},\frac{3a^2+b^2}{4ab}ba​,ab​,2aba2+b2​,4aba2+3b2​,4ab3a2+b2​

  4. ab,ba,a2+b22ab,a2+3b24ab,3a2+b24ab,a2+7b28ab,7a2+b28ab,3a2+5b28ab,5a2+3b28ab\frac{a}{b},\frac{b}{a},\frac{a^2+b^2}{2ab},\frac{a^2+3b^2}{4ab},\frac{3a^2+b^2}{4ab},\frac{a^2+7b^2}{8ab},\frac{7a^2+b^2}{8ab},\frac{3a^2+5b^2}{8ab},\frac{5a^2+3b^2}{8ab}ba​,ab​,2aba2+b2​,4aba2+3b2​,4ab3a2+b2​,8aba2+7b2​,8ab7a2+b2​,8ab3a2+5b2​,8ab5a2+3b2​

    发现规律了没?(没发现,再对第 444 排处理一下)

    8b28ab,1a2+7b28ab,2a2+6b28ab,3a2+5b28ab,4a2+4b28ab,5a2+3b28ab,6a2+2b28ab,7a2+1b28ab,8a28ab\frac{8b^2}{8ab},\frac{1a^2+7b^2}{8ab},\frac{2a^2+6b^2}{8ab},\frac{3a^2+5b^2}{8ab},\frac{4a^2+4b^2}{8ab},\frac{5a^2+3b^2}{8ab},\frac{6a^2+2b^2}{8ab},\frac{7a^2+1b^2}{8ab},\frac{8a^2}{8ab}8ab8b2​,8ab1a2+7b2​,8ab2a2+6b2​,8ab3a2+5b2​,8ab4a2+4b2​,8ab5a2+3b2​,8ab6a2+2b2​,8ab7a2+1b2​,8ab8a2​

    生成的平均数,都是 (2k−m)a2+mb22kab,m∈[0,2k]\frac{(2^k-m)a^2+mb^2}{2^kab},m\in[0,2^k]2kab(2k−m)a2+mb2​,m∈[0,2k] 这样的形式

  • 若 (2k−m)a2+mb22kab=1\frac{(2^k-m)a^2+mb^2}{2^kab}=12kab(2k−m)a2+mb2​=1 ,令b>a,转换成:
    2ka2+m(b2−a2)2kab=1m(b2−a2)=2k(ab−a2)m(b+a)=2ka\begin {aligned} \frac{2^ka^2+m(b^2-a^2)}{2^kab}&=1 \\ m(b^2-a^2)&={2^k(ab-a^2)} \\ m(b+a)&={2^ka} \end {aligned} 2kab2ka2+m(b2−a2)​m(b2−a2)m(b+a)​=1=2k(ab−a2)=2ka​
    不考虑 m=(0或2k)m=(0或2^k)m=(0或2k) ,也不考虑 k=0k=0k=0 ,并且先将 (b+a)除掉gcd(a,(b+a))(b+a)除掉gcd(a,(b+a))(b+a)除掉gcd(a,(b+a)) ,问题就转换成了:

    能合成 111 ⇔\Leftrightarrow⇔ ∃k,k∈1,2,3...使得(b+a)=2k\exists k,k\in{1,2,3...}使得(b+a)=2^k∃k,k∈1,2,3...使得(b+a)=2k

#include<bits/stdc++.h>
#define int long long
using namespace std;int gcd(int a,int b) { return a%b==0 ? b : gcd(b,a%b); }
signed main()
{int T;cin>>T;while(T--){int a,b;cin>>a>>b;//if(a==b) { cout<<"Yes"<<endl; continue; }a = (a+b)/gcd(a,b);while(a%2==0) a >>= 1;if(a==1) cout<<"Yes"<<endl;else cout<<"No"<<endl;}return 0;
}

hdu 7092 仓颉造数 (猜测,手模数据找规律,推公式)相关推荐

  1. HDU-7092 仓颉造数

    题目大意,给定两个数字ab,ba\frac{a}{b},\frac{b}{a}ba​,ab​,每次选取两个数字x,yx,yx,y合称为x+y2\frac{x + y}{2}2x+y​或2xyx+y\f ...

  2. python操作数据表,循环造数100条数据

    python操作数据表,循环造数100条数据, 包括number,varchar. ```sql --先建个临时表 CREATE TABLE tempdata_aa( c1 VARCHAR2(30), ...

  3. 【2021CCPC华为云挑战赛-1006】【HDU-7092】仓颉造数 数学

    2021CCPC华为云挑战赛-1006 仓颉造数 赛时没做出来,当我推出大概结论的时候已经16:02了,这里还是打算把题解写一下,因为感觉官方题解概括性很强所以部分同学 (指我这个菜鸡) 可能看不懂, ...

  4. HDU 4873 ZCC Loves Intersection(JAVA、大数、推公式)

    在一个D维空间,只有整点,点的每个维度的值是0~n-1 .现每秒生成D条线段,第i条线段与第i维度的轴平行.问D条线段的相交期望. 生成线段[a1,a2]的方法(假设该线段为第i条,即与第i维度的轴平 ...

  5. [蓝桥杯][2016年第七届真题]冰雹数(暴力打表找规律)

    题目描述 任意给定一个正整数N, 如果是偶数,执行: N / 2 如果是奇数,执行: N * 3 + 1 生成的新的数字再执行同样的动作,循环往复. 通过观察发现,这个数字会一会儿上升到很高, 一会儿 ...

  6. HDU 6555 The Fool (整除分块 / 打表找规律)

    大致题意 然后就是判断这个式子是奇数还是偶数. n<=1e9 思路 直接整除分块秒了,但我差点忘记整除分块怎么写. 代码 贴一下小代码块 #include<bits/stdc++.h> ...

  7. 数造未来——探索大数据的应用价值

    文章讲的是数造未来--探索大数据的应用价值,当全世界都还在热议大数据甚至有些质疑大数据的时候,早有一批大数据的先驱已经开始通过实际行动去证明,大数据的应用价值.甚至我们开始畅想,大数据会营造出一个怎样 ...

  8. jmeter连接数据库查询获取多个参数, 并通过参数化传值,实现jmeter造数

    场景: 通过查询数据库, 获取多个参数, 比把这些参数循环插入数据库, 实现jmeter造数 一.数据库连接JDBC驱动下载 我用的是mysql数据库,所以安装时用的mysql-connector-j ...

  9. 【存储过程造数mysql】

    存储过程造数mysql DELIMITER // -- 还是声明分隔符 DROP PROCEDURE IF EXISTS `batch_insert`; -- 若存储过程存在,则删除 CREATE P ...

最新文章

  1. List 数据add进去的是一个bean 的时候删除数据的方法
  2. R语言使用ggpubr包的ggarrange函数组合多张结论图:使用ggpubr包将多个可视化结论嵌套起来输出(ggarrange组合ggarrange组合后的图像)
  3. python交互式终端是怎么实现的_python中的脚本和交互式终端客户端
  4. Win2003中apache2整合tomcat5和iis6
  5. Java文件类字符串getAbsolutePath()方法(带示例)
  6. python教程循环语句_Python教程:关于Python 循环语句
  7. 华为发布会: 牛逼鸿蒙,吹水的大会
  8. java list 数据分离_Java(Android)数据结构汇总(一)-- List(下)
  9. .vimrc示例文件
  10. 每周经典电路分析:采样保持放大器(1)
  11. python实现机器学习算法——K均值聚类算法
  12. python微信头像_Python帮你微信头像任意添加装饰别再@微信官方了
  13. 运用HTML5进行文字排版详解
  14. 用css制作网页目录,利用CSS制作树状目录(菜单)
  15. PHP学习之如何写一个项目?需求分析
  16. safari html5 自动全屏,IOS10全屏safari Javascript
  17. 服务器准系统diy,网易科技频道--DIY自己的低价“准系统”:之MICRO ATX主板篇
  18. Android Studio查看SQLite数据库方法大全
  19. 简单使用Linux工业平板(一)
  20. Fatal error: Port 9100 is already in use by another process.

热门文章

  1. 阿帕奇骆驼#3-RabbitMq
  2. 阿里云刘伟光:2 万字解读金融级云原生
  3. python解析jmeter.jtl文件_jmeter jtl文件解析
  4. 购房,切不可签订无效条款
  5. clickhouse分析:zookeeper数据存储
  6. C语言 strcpy_s 函数 - C语言零基础入门教程
  7. 计算机主机拆卸的步骤,计算机组装及维护——计算机拆卸步骤及实训.ppt
  8. ul阻燃标准有几个等级_一组图看懂UL94阻燃测试
  9. IOS 第三方开源库汇总
  10. 方程式ETERNALBLUE:Windows SMB远程溢出漏洞复现笔记