题意:

给定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^n)等于0了

同理就要满足b^a = 2^a * k^a % (2^n)  = 0 那么假设k有x个2 使得(x + 1) * a >= n就好了

#include <stdio.h>
#include <algorithm>
#include <iostream>
using namespace std;
typedef long long ll; ll m;
ll pow_mod(ll x, ll y)
{
ll res = ;
while(y)
{
if(y & ) res = res * x % m;
y >>= ;
x = x * x % m;
}
return res;
} int main()
{
ll n, a;
while(~scanf("%lld%lld", &n, &a))
{
m = ( << n);
if(a & )
{
puts("");
continue;
}
else
{
ll ans = ;
for(int i = ; i <= n; i++)
{
ll o = pow_mod(a, i);
ll u = pow_mod(i, a);
if(o == u) ans++;
} if(a > n) ans += m / - n / ;
else
{
ll p;
if(n % a != ) p = n / a + ;
else p = n / a; p = (1LL << p);
ans += m / p - n / p;
}
printf("%lld\n", ans);
}
}
return ;
}

HDU 6189 Law of Commutation(规律)的更多相关文章

  1. hdu 4722 Good Numbers(规律题)

    http://acm.hdu.edu.cn/showproblem.php?pid=4722 [题意]: 找GoodNumbers一个数N,如果它每一个位数字之和可以整除10,那么它就是GoodNum ...

  2. hdu 1021 Fibonacci Again(找规律)

    http://acm.hdu.edu.cn/showproblem.php?pid=1021 Fibonacci Again Time Limit: 2000/1000 MS (Java/Others ...

  3. HDU 4861 Couple doubi(找规律|费马定理)

    Couple doubi Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit ...

  4. HDU 5963 朋友(找规律博弈)

    http://acm.hdu.edu.cn/showproblem.php?pid=5963 题意: 思路: 我们可以先只考虑单链,自己试几种案例就可以发现规律,只有与根相连的边为1时,只需要奇数次操 ...

  5. hdu 2604 Queuing dp找规律 然后矩阵快速幂。坑!!

    http://acm.hdu.edu.cn/showproblem.php?pid=2604 这题居然O(9 * L)的dp过不了,TLE,  更重要的是找出规律后,O(n)递推也过不了,TLE,一定 ...

  6. hdu 3951 - Coin Game(找规律)

    这道题是有规律的博弈题目,,, 所以我们只需要找出规律来就ok了 牛人用sg函数暴力找规律,菜鸟手工模拟以求规律...[牢骚] if(m>=2) { if(n<=m) {first第一口就 ...

  7. HDU 5914 Triangle 数学找规律

    Triangle 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5914 Description Mr. Frog has n sticks, who ...

  8. hdu 4655 Cut Pieces 找规律

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=4655 题意:给你一组整数,代表每个木块所能涂成的颜色种数(编号1~ai),相邻的两块所能涂成的颜色如果是一 ...

  9. HDU 5703 Desert (找规律)

    题意:一杯水有n的容量,问有多少种方法可以喝完. 析:找规律,找出前几个就发现规律了,就是2的多少次幂. 代码如下: #include <cstdio> #include <stri ...

随机推荐

  1. SpringCloud02 Eureka知识点、Eureka服务端和客户端的创建、Eureka服务端集群、Eureka客户端向集群的Eureka服务端注册

    1 Eureka知识点 按照功能划分: Eureka由Eureka服务端和Eureka客户端组成 按照角色划分: Eureka由Eureka Server.Service Provider.Servi ...

  2. Makefile 调试

    一.简介 GNU make 提供了若干可以协助调试的内置函数以及命令行选项. 用来调试makefile 的一个最好方法就是加入调试挂钩以及使用具保护的编程技术,让你能够在事情出错时恢复原状. 二.ma ...

  3. 2.Border Layout 自定义一个Layout来完成布局。

    目标: 1.添加控件的函数 void QLayout::addWidget ( QWidget * w ) 在这个例子里面我们重载这个函数 void addWidget ( QWidget * w, ...

  4. Django框架 之 querySet详解

    Django框架 之 querySet详解 浏览目录 可切片 可迭代 惰性查询 缓存机制 exists()与iterator()方法 QuerySet 可切片 使用Python 的切片语法来限制查询集 ...

  5. Entity Framework 6.0 Tutorials(6):Transaction support

    Transaction support: Entity Framework by default wraps Insert, Update or Delete operation in a trans ...

  6. spark源码阅读之network(2)

    在上节的解读中发现spark的源码中大量使用netty的buffer部分的api,该节将看到netty核心的一些api,比如channel: 在Netty里,Channel是通讯的载体(网络套接字或组 ...

  7. Ubuntu普通用户使用串口设备

    将普通用户加入dialout组,然后重启或注销登录 sudo gpasswd --add username dialout

  8. C#隐式FTPS (Implicit FTPS)

    實現的方式是通過第三方程式庫實現的,當然最主要的是開源且免費,已測試過沒有問題! 目前還沒有直接取得目錄FileInfo list的方法,不過還好可以用GetDirectoryList來取得類似的結果 ...

  9. C#操作excel打印

    using System; using System.Data; using System.IO; using System.Runtime.InteropServices; using System ...

  10. VSCode提示pylint isnot installed

    1.下载所需扩展 在https://www.lfd.uci.edu/~gohlke/pythonlibs/中下载所需扩展,我下载的是:pylint-2.1.1-py2.py3-none-any.whl ...