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

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

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

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

(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. ASP.net绑定文本框Enter事件到按钮 ASP.NET执行后台执行JS方法

    txtAccountBarcode.Attributes.Add("onkeydown", "if(event.which || event.keyCode){if (( ...

  2. ios layer 动画-(transform.rotation篇)

    x轴旋转: CABasicAnimation *theAnimation; theAnimation=[CABasicAnimation animationWithKeyPath:@"tra ...

  3. 实现 Bootstrap 基本布局

    看到了一篇 20 分钟打造 Bootstrap 站点的文章,内容有点老,重新使用 Bootstrap3 实现一下,将涉及的内容也尽可能详细说明. 1. 创建基本的页面 我们先创建一个基本的 HTML ...

  4. Jpinyin笔记

  5. sql语句的join用法

    sql的join分为三种,内连接.外连接.交叉连接. 以下先建2张表,插入一些数据,后续理解起来更方便一些. create table emp(empno int, name char(20),dep ...

  6. mysql列类型

    mysql三大列类型 整型 tinyint(占据空间:1个字节 存储范围  有符号  -128-127   无符号  0-255) smallint   mediumint    int    big ...

  7. Android Programming: Pushing the Limits -- Chapter 7:Android IPC -- Messenger

    Messenger类实际是对Aidl方式的一层封装.本文只是对如何在Service中使用Messenger类实现与客户端的通信进行讲解,对Messenger的底层不做说明.阅读Android Prog ...

  8. sshd_conf AllowUsers参数

    AllowUsers root user1 user2 #服务器只允许root user1 user2登录,再的新也用户产生,是不允许豋录服务器 配置文件在/etc/ssh/sshd_confing ...

  9. javascript - 事件详解

    一.事件流 1.事件流 描述的是在页面中接受事件的顺序 2.事件冒泡 由最具体的元素接收,然后逐级向上传播至最不具体的元素的节点 (最具体 –> 最不具体) 3.事件捕获 最不具体的节点先接收事 ...

  10. JavaScript中判断对象类型方法大全2

    在JavaScript中,有5种基本数据类型和1种复杂数据类型,基本数据类型有:Undefined, Null, Boolean, Number和String:复杂数据类型是Object,Object ...