题面

题解

记\(N = \dfrac nm\)

这道题目就是要求\(a_m = \sum_{i=1}^N \mu(i)\mu(im)\)

因为\(\mu(ij) = \mu(i)\mu(j)[\gcd(i, j) = 1]\)

所以\(a_m = \mu(m)\sum_{i=1}^N \mu^2(i) [\gcd(i, m) = 1]\)

设\(\mathbf S(n, m) = \sum_{i=1}^n \mu^2(i)[\gcd(i, m) = 1]\)

则有:
\[
\begin{aligned}
\mathbf S(n, m) &= \sum_{i=1}^n\mu^2(i)\sum_{d|i, d|m}\mu(d) \\
&= \sum_{d|m} \mu(d) \sum_{d|i}^n \mu^2(i) \\
&= \sum_{d|m} \mu(d) \sum_{i=1}^{n/d} \mu^2(id) \\
&= \sum_{d|m} \mu(d) \sum_{i=1}^{n/d} \mu^2(i)\mu^2(d)[\gcd(i, d) = 1] \\
&= \sum_{d|m} \mu^3(d) \sum_{i=1}^{n/d} \mu^2(i)[\gcd(i, d) = 1] \\
&= \sum_{d|m} \mu(d) \mathbf S\left(\left\lfloor\frac nd \right\rfloor, d\right)
\end{aligned}
\]
于是就可以递归处理了。

不过数据太水,\(\mathrm{O}(\sqrt n)\)求\(\mu\)都可以过,上面那个东西不记忆化都可以过,也是毒瘤了。

代码就不放了,太丑了。

Luogu5348 密码解锁的更多相关文章

  1. 【Luogu5348】密码解锁(莫比乌斯反演,数论)

    [Luogu5348]密码解锁(莫比乌斯反演,数论) 题面 洛谷 题解 首先题目给定的限制是\(\sum_{n|i}a[i]=\mu(n)\),然后把这个东西反演一下, 莫比乌斯反演的式子是:\(g( ...

  2. Swift 简简单单实现手机九宫格手势密码解锁

    原文:Swift 简简单单实现手机九宫格手势密码解锁 大家可以看到我之前的文章[HTML5 Canvas简简单单实现手机九宫格手势密码解锁] 本文是使用苹果语言对其进行了移植 颜色配色是拾取的支付宝的 ...

  3. HTML5 Canvas简简单单实现手机九宫格手势密码解锁

    原文:HTML5 Canvas简简单单实现手机九宫格手势密码解锁 早上花了一个半小时写了一个基于HTML Canvas的手势解锁,主要是为了好玩,可能以后会用到. 思路:根据配置计算出九个点的位置,存 ...

  4. 【洛谷】P5348 密码解锁

    [洛谷]P5348 密码解锁 很显然我们可以推导出这个式子 设\(a(m)\)为\(m\)位置的值 \[ \mu(m) = \sum_{m | d} a(d) \\ a(m) = \sum_{m|d} ...

  5. Oracle 修改密码 解锁

    1.怎么修改oracle用户密码 在以SYSDBA身份登陆时可以修改其他用户的密码,比如: SQL> alter user 用户名 identified by 新密码; 用户已更改. 这个是把U ...

  6. [P5348]密码解锁

    Description 给一个长度为 \(n\) 的数组 \(a[1\dots n]\) ,满足 \(\sum_{m|x}a[x] = \mu(m)\),求 \(a[m]\). \(n\le 10^{ ...

  7. iOS 10的正确解锁方式

    在iOS 10上,锁屏状态通过按下电源键点亮屏幕之后,用手指轻触Home键,实际上手机是已经解锁了的,不信请看如下截图: 虽然手机已经解锁,但与iOS 9不同的是,此时手机还处在解锁界面而没有进入主屏 ...

  8. android 判断是否设置了锁屏密码

    方式1:在小米note手机上测试,只能判断是否设置了图形解锁. android.provider.Settings.System.getInt(getContentResolver(), androi ...

  9. Appnium+python实现手势密码为什么总是报错

    最近一直在尝试Appnium实现Android手机自动化测试,一直一直卡在一个点上,那就是手势密码,因为所测应用的手势密码使用的不是单个的imageview实现的手势密码解锁窗,所以只能靠坐标点来定位 ...

随机推荐

  1. 【洛谷 P4248】 [AHOI2013]差异(后缀自动机)

    题目链接 \[ans=\sum_{1<=i<j<=n}len(T_i)+len(T_j)-2*lcp(T_i,T_j)\] 观察这个式子可以发现,前面两个\(len\)是常数,后面的 ...

  2. 【转载】C#使用Math.Ceiling方法对计算结果向上取整操作

    在C#的数值运算中,有时候需要对计算结果进行向上取整操作,支持设定结算结果的有效位数,Math.Ceiling方法是C#中专门用来对数值进行向上取整的方法,此方法和Math.Round方法.Math. ...

  3. js 的七大原则--单一原则、开闭原则、替换原则(一)

    一.前言: js 的七大设计原则: 1.单一原则 2.开闭原则 3.里氏替换原则 4.依赖倒转原则 5.接口隔离原则 6.合成复用原则 7.迪米尔法则 二.单一原则 1.定义:单一原则就是一个对象或者 ...

  4. ios手机app消息推送

    h5+app项目,推送平台 " 个推 " 首先在manifest.json配置文件中点击模块权限配置,勾选push消息推送配置如图1-1 第二部在manifest.json配置文件 ...

  5. H5调起IOS原生商店支付

    参考文档:http://www.html5plus.org/doc/zh_cn/payment.html 申请内购项目摘自 https://www.jianshu.com/p/1e79bfbe46e2 ...

  6. c#测量字体宽度

    Bitmap image_size = * count, f.Height);//初始化大小 Graphics size_g = Graphics.FromImage(image_size); Siz ...

  7. 如何为UEditor设置默认值

    // 初始化UEditor var ue = UE.getEditor('editor'); ue.ready(function() { //设置默认值 ue.setContent('默认值....' ...

  8. kubernetes-使用kubeadm添加node节点

    node节点服务器需要安装好 kubeadm, kubelet 和 kubectl: 使用kubeadm join 命令即行,使用master节点kebeadm init时的提示: root@boke ...

  9. raw镜像与qcw2镜像互相转换

    qcow2是最小使用,raw是置零使用 . raw格式是原始镜像,会直接当作一个块设备给虚拟机来使用,至于文件里面的空洞,则是由宿主机的文件系统来管理的,linux下的文件系统可以很好的支持空洞的特性 ...

  10. java基础(6)---面向对象,类,包

    一.类 类对象内存:  成员变量和局部变量: 成员变量:类中定义的一些私有变量,表示对象的属性. 局部变量:局部变量是在方法体里创建的,在方法体外是访问不到这个变量的. public class te ...