哇。。原来莫比乌斯代码这么短。。顿时感觉逼格--

写了这道题以后,才稍稍对莫比乌斯函数理解了一些

定理:是定义在非负整数集合上的两个函数,并且满足条件,那么我们得到结论

在上面的公式中有一个函数,它的定义如下:

(1)若,那么

(2)若均为互异素数,那么

(3)其它情况下

那么在这道题的情况下,答案所求的是互异素数的乘积,利用容斥原理的思想我们可以发现:这与莫比乌斯函数恰巧是吻合的

首先二分答案(这里一开始我想错了,我一直在想二分选取质数的上界,然后怎么就搞不出来了。。)

首先有一个奇怪的证明是不会超过2n,并不会证,手推几个数果然是这样

二分MID以内有几个符合标准的数,然后答案为X-至少是一种质数平方的个数+至少是两种质数平方的个数……

因为当枚举的X不是互异素数的乘积是,mu[x]=0;否则,若K为奇数,则mu[x]=-1;else mu[x]=1;

这道题明显是懂了莫函数的“互异素数”之后才比较好想到  也可能是我太弱吧..

容斥功底不够..数学能力不够..多写题

#include<cstdio>
#include<algorithm>
#define M 44723
#define ll long long
using namespace std;
int tot,k;
,},pri[M],flag[M];
void Euler()
{
  ;i<=M;i++)
  {
    )mu[i]=-,pri[++tot]=i;
    ;j<=tot;j++)
    {
      if(pri[j]*i>M)break;
      flag[pri[j]*i]=;
      )
      {
        mu[pri[j]*i]=;break;
      }
      mu[pri[j]*i]=-mu[i];
    }
  }
}
int judge(int x)
{
  ;
  ;i*i<=x;i++)
   re+=x/(i*i)*mu[i];
  return re;
}
ll work()
{
  ll l=,r=k<<;
  <r)
  {
    ll mid=(l+r)>>;
    if(judge(mid)>=k)r=mid;
    else l=mid;
  }
  if(judge(l)>=k)return l;else return r;
}
int main()
{
  int cas;scanf("%d",&cas);
  Euler();
  while(cas--)
  {
    scanf("%d",&k);
    ll ans=work();
    printf("%lld\n",ans);
  }
} 

07/23

bzoj3994

求n*m范围内的约数个数和。

蒟蒻不是很懂。。。。QAQ只会安利大爷们的题解

【bzoj2440】【bzoj3994】莫比乌斯反演学习的更多相关文章

  1. 莫比乌斯反演学习笔记+[POI2007]Zap(洛谷P3455,BZOJ1101)

    先看一道例题:[POI2007]Zap BZOJ 洛谷 题目大意:$T$ 组数据,求 $\sum^n_{i=1}\sum^m_{j=1}[gcd(i,j)=k]$ $1\leq T\leq 50000 ...

  2. 莫比乌斯反演学习笔记(转载自An_Account大佬)

    转载自An_Account大佬 提示:别用莫比乌斯反演公式,会炸的 只需要记住: [gcd(i,j)=1]=∑d∣gcd(i,j)μ(d)[gcd(i,j)=1]=\sum_{d|gcd(i,j)}\ ...

  3. 【笔记篇】不普及向——莫比乌斯反演学习笔记 && 栗题HAOI2011 Problem B

    Part0 广告(当然没有广告费) P.S. 这篇文章是边学着边用Typora写的...学完了题A了blog也就呼之欲出了~有latex化式子也非常方便...非常建议喜欢Markdown的dalao们 ...

  4. BZOJ2301: [HAOI2011]Problem b[莫比乌斯反演 容斥原理]【学习笔记】

    2301: [HAOI2011]Problem b Time Limit: 50 Sec  Memory Limit: 256 MBSubmit: 4032  Solved: 1817[Submit] ...

  5. 【BZOJ3994】约数个数和(莫比乌斯反演)

    [BZOJ3994]约数个数和(莫比乌斯反演) 题面 求\[\sum_{i=1}^n\sum_{j=1}^md(ij)\] 多组数据\((<=50000组)\) \(n,m<=50000\ ...

  6. 【BZOJ2440】完全平方数(二分答案,莫比乌斯反演)

    [BZOJ2440]完全平方数(二分答案,莫比乌斯反演) 题面 BZOJ 题解 很显然,二分一个答案 考虑如何求小于等于这个数的非完全平方数倍数的个数 这个明显可以直接,莫比乌斯反演一下 然后这题就很 ...

  7. 莫比乌斯反演/线性筛/积性函数/杜教筛/min25筛 学习笔记

    最近重新系统地学了下这几个知识点,以前没发现他们的联系,这次总结一下. 莫比乌斯反演入门:https://blog.csdn.net/litble/article/details/72804050 线 ...

  8. 【BZOJ-2440】完全平方数 容斥原理 + 线性筛莫比乌斯反演函数 + 二分判定

    2440: [中山市选2011]完全平方数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2371  Solved: 1143[Submit][Sta ...

  9. ACM学习历程—HYSBZ 2818 Gcd(欧拉函数 || 莫比乌斯反演)

    Description 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对. Input 一个整数N Output 如题 Sample Input 4 Sam ...

随机推荐

  1. mongoose学习笔记1--基础知识1

    今天我们将学习Mongoose,什么是Mongoose呢,它于MongoDB又是什么关系呢,它可以用来做什么呢? MongoDB是一个开源的NoSQL数据库,相比MySQL那样的关系型数据库,它更显得 ...

  2. java动态生成excel打包下载

    @SuppressWarnings("unchecked") public String batchExport() throws DBException{ @SuppressWa ...

  3. vs2013中项目依赖项的作用

    依赖项就是设定项目所以来的项目,以决定具体生成解决方案时,项目编译的顺序(一般一个解决方案会有很多项目组成). 通常来说,依赖项取决于这个项目引用的组件和项目,系统可以自己决定. 作用就是让系统知道你 ...

  4. tengine-2.1.0 源码安装

    [root@localhost tengine-]# yum update -y [root@localhost tengine-]# yum install gcc gcc-c++ autoconf ...

  5. 重温WCF之构建一个简单的WCF(一)(1)通过控制台和IIS寄宿服务

    一.理解什么是WCFWCF就是.NET平台下各种分布式技术的集成,并提供了一套统一的编程接口 二.WCF的定义WCF(Windows Communication Foundation)是微软为构建面向 ...

  6. Jmeter在restful风格接口测试中的应用

    1.如何下载安装 官网下载,一个压缩包apache-jmeter-3.0.zip,解压即可,打开bin目录下jmeter.bat即可打开软件. 2.熟悉界面 3.实际案例 测试restful风格接口 ...

  7. 命令行登陆Oracle(包括远程登陆)

    本方法适用于在cmd命令行窗口以及pl/sql登陆Oracle下登录本机或者远程Oracle. 1.首先保证在当前主机上设置了ORACLE_HOME环境变量:     例如:ORACLE_HOME=D ...

  8. js onclick="return test()"事件返回值,对有些事件,会影响默认动作的执行。如:onclick和onsubmit

    onclick="return test()"事件返回值,对有些事件,会影响默认动作的执行.如:onclick和onsubmit <body> <!--事件返回值 ...

  9. 6-01T-SQL中的运算符

    算术运算符:+.-.*./.%. 赋值运算符:= 逻辑运算符:AND.OR.NOT. 比较运算符:>,<,<=,>=,<>.=,!=. 连接运算符:"+& ...

  10. JS常用语句

    JavaScript常用语句 1.document.write("");    输出语句 2.JS中的注释为   // 3.传统的HTML文档顺序是:     document-& ...