Law of Commutation HDU - 6189(找规律+同余)

ANSYS接触分析实战:从法兰连接案例看接触刚度与穿透容差的黄金搭配 本文以法兰连接为实战案例,深入解析了ANSYS接触分析中接触刚度(FKN)与穿透容差(FTOLN)的参数设置策略。通过系统性敏感性分析,揭示了这对关键参数的博弈关系与调优逻辑,旨在帮助工程师在保证计算收敛的同时,获得高精度的有限元分析结果,有效解决工程中的非线性接触难题。 阅读详情

Law of Commutation HDU - 6189

As we all know, operation ”+” complies with the commutative law. That is, if we arbitrarily select two integers a and b, a+b always equals to b+a. However, as for exponentiation, such law may be wrong. In this problem, let us consider a modular exponentiation. Give an integer m=2n and an integer a, count the number of integers b in the range of [1,m] which satisfy the equation ab≡ba (mod m
).

Input

There are no more than 2500 test cases.
Each test case contains two positive integers n and a seperated by one space in a line.

For all test cases, you can assume that n≤30,1≤a≤109
.

Output

For each test case, output an integer denoting the number of b
.
Sample Input

2 3
2 2

Sample Output

1
2

题意:给定n,a,其中令2n=m2n=m,现求区间[1,m]内有多少个b满足,abab≡≡baba(mod m)。

解释:

1.当a为奇数的时候:
打表可以发现答案横为1,并且这个答案是a=b到时候
具体证明如下

对于a为奇数的情况,b一定为奇数,下证b=a mod 2^n。
由于奇数平方模8余1,故a^b=a mod 8, b^a=b mod 8
故a=b mod 8
由于奇数四次方模16余1,故a^b=a^(b%4) mod 16, b^a=b^(a%4) mod 16
由于b%4=a%4,故a=b mod 16
以此类推,得b=a mod 2^n。解唯一

2.当a为偶数的时候:
首先我们发现m=2nm=2n所以m是偶数,因为a是偶数所以abab是偶数,所以abab%m是偶数⟶⟶ baba % m是偶数,所以b是偶数。
令a= 2x, abab = (2x)b(2x)b = 2b⋅xb2b⋅xb
此时我们又可以分出两种情况
一、b < n 的时候,因为题目给出到n很小,所以我们根据题意直接快速幂取模暴力算个数
二、b ≥≥ n 的时候,发现 2b⋅xb2b⋅xb mod 2n2n恰好为0,所以我们只需要使babamod m为0即可,所以我们到目标转换成求满足babamod m为0的b的个数
设b=2x⋅y2x⋅y,因为b是从[1,m]中找,所以我们只要找到b到最小值,用m除这个最小值就得到了,所有满足的b到个数,然后再减去[1,n]中到个数,因为已经求过了,所以就得到了b ≥≥ n情况下b到个数。
因为我们想要求最小到b,且b是偶数,所以我们就可以忽略倍数y到影响,直接考虑2x2x,要使得baba mod m = (2x)a(2x)a mod m = 2ax2ax mod 2n2n≡≡ 0 mod 2n2n,只需要ax ≥≥ n,所以x ≥≥ nana,因此我们就找到了满足条件到最小x值使得b最小,因为要大于等于,所以求nana需要向上取整,即只要小数部分不为零,整数部分+1,小数部分变成0,求出b=2x2x,然后个数=mb−nbmb−nb.
最后把总个数加起来
code:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll q_pow(ll a,ll b,ll mod){
   ll ans = 1;
   while(b){
      if(b & 1)
        ans = ans * a % mod;
      b >>= 1;
      a = a * a % mod;
   }
   return ans;
}
ll n,a;
int main(){
   while(scanf("%lld%lld",&n,&a) != EOF){
       if(a & 1){
         printf("1\n");
         continue;
       }
       else{
         ll m = 1 << n;
         ll ans = 0;
         for(ll i = 1; i <= n; i++){
            if(q_pow(a,i,m) == q_pow(i,a,m))
               ans++;
         }
         ll b2 = n / a;
         if(b2 * a < n) b2++;
         ll b3 = 1 << b2;
         ll res = m / b3 - n / b3;
         ans = ans + res;
         printf("%lld\n",ans);
       }
   }
   return 0;
}
华大HC32F460从零到200MHz:手把手教你配置时钟系统(附避坑指南) 本文详细解析了华大HC32F460 MCU的时钟系统配置,从启动过程、时钟树分析到实战配置200MHz系统时钟。文章手把手指导开发者如何正确配置外部晶振、MPLL锁相环及总线分频,并提供了硬件检查、代码解读及常见问题排查的避坑指南,帮助用户从零构建稳定可靠的高性能时钟环境。 阅读详情

相关推荐

【全开源】旅游系统源码(Uniapp+FastAdmin+ThinkPHP)

通过源码的灵活配置和定制开发,我们可以根据旅游企业的实际需求,快速构建出符合其业务特点的旅游系统。旅游系统源码,作为这一变革的基石,为旅游业的数字化转型提供了强有力的支撑。通过深入研究和应用旅游系统源码,我们能够构建出更加智能、便捷、个性化的旅游服务平台,满足游客日益增长的旅游需求。国际化发展:随着全球化的深入发展,旅游系统源码也将迎来国际化的发展机遇,为国内外游客提供更加便捷、高效的旅游服务。跨界融合:旅游系统源码将与更多领域进行跨界融合,如与交通、餐饮、购物等行业的结合,为游客提供更加丰富的旅游体验。

2401_84413757的博客 2147

HDU - 6189 Law of Commutation(找规律+推公式 17广西邀请赛题)

As we all know, operation ''+'' complies with the commutative law. That is, if we arbitrarily select two integers aa and bb, a+ba+b always equals to b+ab+a. However, as for exponentiation, such law may be wrong. In this problem, let us consider a modular e

hyesuixin的博客 1370

AS5600磁编码器IIC通信与角度读取实战指南

本文提供了AS5600磁编码器通过IIC通信协议实现高精度角度读取的完整实战指南。详细解析了硬件连接要点、IIC通信时序、Arduino与STM32平台驱动代码,并分享了多圈测量、噪声滤波等进阶应用与避坑技巧,帮助开发者快速将这款非接触式角度传感器集成到电机控制、旋钮等项目中。

weixin_29172201的博客 242

HDU 6189 - Law of Commutation ( 规律 + 思路 )

题意 给出n, a ( n ≤ 30, 1 ≤ a ≤ 109. ), m = 2^n, 求[1, m]范围内有多少个数b使得 a^b mod m == b^a mod m 思路 打表找规律 1. 若a为奇数 cnt == 1 2. 若a为偶数 : 当 b &lt;= n 时, 因为数据量较小可以直接暴力求 当 b &gt; n 时, a^b % m 必然 = 0 要求有b使得 ...

JinxiSui的博客 512

通达信抓波段指标(主图)

VAR3:=IF(INBLOCK('科创板'),VART20,IF(INBLOCK('创业板') AND DATE>1200823,VART20,IF(INBLOCK('ST板块'),VART5,VART10)));VAR5:=IF(INBLOCK('科创板'),CT20,IF(INBLOCK('创业板') AND DATE>1200823,CT20,IF(INBLOCK('ST板块'),CT5,CT10)));曾涨停/紫色细K线:青字"炸",涨停未封住。曾跌停/蓝色细K线:红字"撬",跌停被打开。

q125500612的博客 2129

基于STM32和MPU6050的手势控制小车设计与实现

MPU6050传感器:用于检测手势变化,采集加速度和陀螺仪数据。STM32微控制器:处理MPU6050传感器的数据,根据手势变化控制小车的运动。电机驱动模块:接收来自STM32的控制信号,驱动小车的电机,实现小车的前进、后退、左转和右转。小车底盘:作为整个系统的机械部分,提供移动平台。MPU6050是一款集成了3轴加速度计和3轴陀螺仪的传感器,具有高精度、低功耗和小体积等特点。它通过I2C接口与微控制器通信,可以实时采集加速度和角速度数据,广泛应用于运动检测、姿态控制和手势识别等领域。

m0_57781768的博客 2308

Law of Commutation HDU - 6189 思维+数学

As we all know, operation ''+'' complies with the commutative law. That is, if we arbitrarily select two integersaaandbb,a+ba+balways equals tob+ab+a. However, as for exponentiation, such law ma...

why932346109的博客 268

Maxwell涡流热损计算:铜导体在50Hz交流下的仿真实践

本文详细介绍了使用Maxwell软件进行铜导体在50Hz交流条件下的涡流热损仿真实践。从涡流热损的基本概念到Maxwell仿真设置、网格划分、结果后处理等关键步骤,提供了实用技巧和常见问题解决方案,帮助工程师准确计算涡流热损,优化电力设备设计。

weixin_42526015的博客 389

hdu6189 Law of Commutation 2017ACM-ICPC全国邀请赛(广西) 找规律

hdu6189 Law of Commutation 2017ACM-ICPC全国邀请赛(广西) 找规律

axuhongbo的博客 1064

Floyd (弗洛伊德)算法简述

Floyd在1962年由Robert Floyd以其当前公认的形式出版。算法作为三个嵌套for循环的现代公式首先由Peter Ingerman在1962年描述。Floyd 算法是解决图论问题的比较经典的算法,是解决给定的加权图中顶点间的最短路径的一种算法,可以正确处理有向图的最短路径问题。

慕羽★的博客 2万+

k8s篇之underlay网络和overlay区别

underlay和overlay

小橙子的笔记屋 2142

HDU 6189 Law of Commutation(数论)

Description 给出两正整数a,na,na,n,令m=2nm=2nm=2^n,对于任意b∈[1,m]b∈[1,m]b\in [1,m],求满足ab≡ba(mod&nbsp;m)ab≡ba(mod&nbsp;m)a^b\equiv b^a(mod\ m)的bbb的个数 Input 多组用例,每组用例输入两正整数n,a(1≤n≤30,1≤a≤109)n,a(1≤n≤30,1≤a≤109)...

ZSQ 1619

揭秘大数据领域数据产品的开发流程

随着企业数字化转型加速,数据产品已成为驱动业务增长的核心载体。不同于传统软件产品,数据产品以数据为核心生产要素,通过数据采集、处理、分析与可视化,为用户提供决策支持或智能化服务。本文旨在系统性拆解数据产品开发的全生命周期,涵盖需求分析、数据工程、模型构建、产品设计、上线运维等关键环节,揭示各阶段的技术原理、实施路径与最佳实践,帮助技术团队与产品团队建立标准化开发流程。核心概念:定义数据产品本质,对比传统软件产品差异技术体系:拆解数据采集、处理、建模、可视化的技术栈与算法原理。

AI Agent Harness Engineering 479

hdu-6189- Law of Commutation

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6189 题目大意 :在1到m的范围中有多少个b满足,其中。(题目要求输入n,a) 题解思路:打表,找出规律。 ac代码: #include<cstdio> #include<cmath> #include<algorithm> #include&lt...

qq_41515833的博客 224

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

HDU——6189 Law of Commutation(数论+打表找规律)

As we all know, operation ''+'' complies with the commutative law. That is, if we arbitrarily select two integersaaandbb,a+ba+balways equals tob+ab+a. However, as for exponentiation, such law ma...

lgz0921的博客 398

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Law of Commutation HDU - 6189

2018TYUT暑期ACM模拟赛(1) Law of Commutation HDU - 6189 题意:给你n,a。m=2^n,b=[1,m], 求有多少满足a^b=b^a%m; 思路:模拟赛的当场只是听队友说了这题没有写。赛后再写。数学方面的问题啊。首先打表看了一下规律,n&lt;=1 无论a是啥答案都是1,a为奇数的时候答案都为1 。这个肯定是能推导出来的但是我没有推。然后看打表...

DeathYmz的博客 487

HDU-6189 Law of Commutation(数学)

Law of Commutation                                                                Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)                                   ...

nka_kun的博客 371

HDU 6189 Law of Commutation 2017ACM-ICPC 广西邀请赛 (打表找规律)

As we all know, operation ''+'' complies with the commutative law. That is, if we arbitrarily select two integers aa and bb, a+ba+b always equals to b+ab+a. However, as for exponentiation, such law may be wrong. In this problem, let us consider a modular e

风的记忆 982

解题报告:HDU_6189 Law of Commutation (找规律)

题目链接 题意: 给定n,a,求区间 [ 1 , 1的个数 思路: 打表发现以下规律 1、若a为奇数,答案为1 2、若a为偶数,则对于大于n的b,满足,其中a2,b2为a,b含2的因子个数 3、对于小于n的b,满足的情况有点多,直接暴力check 代码: #include using namespace std; inline long l

Hee的博客~ 636

Law of Commutation HDU - 6189

Law of Commutation  HDU - 6189 As we all know, operation ''+'' complies with the commutative law. That is, if we arbitrarily select two integers aa and bb, a+ba+b always equals to b+ab+

ZJLORD 427

HDU - 6189 Law of Commutation(找规律,推公式)

As we all know, operation ''+'' complies with the commutative law. That is, if we arbitrarily select two integers a and b, a+b always equals to b+a. However, as for exponentiation, such law may be wro...

Hugokung的博客 301

HDU 6189 Law of Commutation(规律)

题意: 给定n,a,求区间 [ 1 , 1<<n ] 的数b 满足的个数 分析:打出暴力程序可以发现当a为奇数的时候结果为一; 当a为偶时 , a^b=2^(k+b)mod 2^n ; 结果肯定为0 ; 那就有b^a mod 2^n=0 ; 则 b也为偶数 ,在分析: 然后分类讨论 b <= n时暴力搞搞 b > n时 就需要满足 b^a % (2^...

weixin_30384217的博客 89

HDU-6189 Law of Commutation

首先暴力打表找规律,发现当a为奇数时,答案必为1(以后碰到这种感觉的题,没思路就先打个表吧!)然后可以推出符合要求的b也不为奇数(因为a^b%m必为偶数,所以b^a%m也为偶数,得b为偶数)接下来再仔细推敲一下,发现a^b%m和b^a%m在很多情况下等于0(因为m=2^n的缘故)之前推出,a和b肯定是偶数,所以a和b中都含有2,当b&gt;=n时,a^b将是m的整数倍,a&gt;=n时,b^a也是...

wl16wzl的博客 192

HDU6189 Law of Commutation (数论)

题意:输入n和a 定义m等于2的n次方 求1-m有多少数使得 a^b = b^a (mod m) 题解:先打表找规律 发现a为奇数的答案只有b = a这一种 (不知道为什么也不想知道为什么    当a为偶数时 因为m为偶数 所以 a ^ b % m肯定也为偶数 所以 b ^ a % m同理 b也为偶数    于是a可以写成2*k a^b可写作 2^b * k^b % (2^...

weixin_30460489的博客 100

hdu 1868

简单的找规律题,假设连续序列为a, a+1, a+2,...,a+k则(2*a+k)*(k+1)/2=N,从而a可以用N和k表示出来,而通过这个公式能够发现k一定小于sqrt(2*N+1),枚举k,计算出a判断是否符合题意即可。 /* * hdu1868/win.cpp * Created on: 2011-10-8 * Author : ben */#include <cstd...

weixin_30319097的博客 114

ZOJ3629 Treasure Hunt IV(找规律,推公式)

Treasure Hunt IV Time Limit: 2 Seconds      Memory Limit: 65536 KB Alice is exploring the wonderland, suddenly she fell into a hole, when she woke up, she found there are b - a + 1 treasures

布生气 2277
上一篇: Counting Stars HDU - 6184(无向图三元环计数)
下一篇: Destroy Walls HDU - 6187(最大生成树)
Guuuuuu老师儿
博客等级 码龄9年 259粉丝 718原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值