[bzoj3309] DZY Loves Math

2023-10-26

题目大意

对于正整数n,定义f(n)为n所含质因子的最大幂指数。例如f(1960)=f(2^3 * 5^1 * 7^2)=3, f(10007)=1, f(1)=0。
给定正整数a,b,求 ai=1bj=1f((i,j))

T≤10000
1≤a,b≤ 107

分析

看到两个sigma和(i,j),就要条件反射想到莫比乌斯反演。
首先令a≤b
枚举公约数,得到:

Ans=d=1af(d)i=1adj=1bd[(i,j)=1]

Ans=d=1af(d)d=1adμ(d)addbdd

令T=dd’,得到:
Ans=T=1aaTbTd|Tf(d)mu(Td)

g[T]=d|Tf(d)mu(Td) ,那么只要预处理g数组的前缀和,就可以以根号的复杂度询问了。
g数组的预处理看起来是带log的。但是根据莫比乌斯函数的性质,如果 Td 存在平方因子,函数值是等于0的,也就是对答案没有贡献。
那么设 T=p1k1p2k2...pmkm ,T质因数的最大幂是k,那么只有ki=k的质因数有用。又可以设 Td=p1a1p2a2...pmam ,其中 ai[0,1]
可以发现f(d)只能取到k,k-1,现在令其中一个满足ki=k的质因数为d的最大幂,如果f(d)=k,那么ai=0,其它为0或1均可。然而一个a取0,就相当于给莫比乌斯函数乘1,取1就是乘-1。所以最终答案乘的系数是0。特殊情况:如果T是质数,乘的系数是1(因为没有其它质因数了)。
如果f(d)=k-1,那么ai=1,所有其它满足ki=k的质因数也要让对应的a值取1,这时剩下的质因数也和上面一样,最后得到的系数是0。特殊情况:如果每个ki都等于k,那么由于没有剩下可以取0、1的质因数,它的系数也是1。
这样就可以线性预处理了。

#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

const int N=1e7;

typedef long long LL;

int T,mu[N+5],tot,p[N],f[N+5];

LL s[N+5],ans;

bool bz[N+5];

char c;

int read()
{
    for (c=getchar();c<'0' || c>'9';c=getchar());
    int x=c-48;
    for (c=getchar();c>='0' && c<='9';c=getchar()) x=x*10+c-48;
    return x;
}

int main()
{
    mu[1]=1;
    for (int i=2;i<=N;i++)
    {
        if (!bz[i])
        {
            mu[i]=-1;
            p[tot++]=i;
        }
        for (int j=0;j<tot && i*p[j]<=N;j++)
        {
            int I=i*p[j];
            bz[I]=1;
            if (i%p[j]==0)
            {
                mu[I]=0; break;
            }
            mu[I]=-mu[i];
        }
    }
    for (int i=2;i<=N;i++) if (mu[i]!=0)
    {
        for (LL j=i;j<=N;j*=i) s[j]=-mu[i];
    }
    for (int i=1;i<=N;i++) s[i]+=s[i-1];
    T=read();
    while (T--)
    {
        int a=read(),b=read();
        if (a>b) a^=b^=a^=b;
        ans=0;
        for (int i=1,j;i<=a;i=j+1)
        {
            j=min(a/(a/i),b/(b/i));
            ans+=(s[j]-s[i-1])*(a/i)*(b/i);
        }
        printf("%lld\n",ans);
    }
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[bzoj3309] DZY Loves Math 的相关文章

  • 关于域控DC不能正常同步GC的解决办法(域控时间超过墓碑时间) 与域控SRV记录

    现象 用户两台域控 GC PDC 上面创建用户DC不能正常同步 DC上面创建用户GC能够同步 同时发现有一台文件服务器有些机器不能正常访问 提示共享无权限 原因 用dcdiag命令在GC上没有问题 在DC上发现墓碑时间问题 可以确定是墓碑时
  • UnityHub打不开自己的项目的一个可能

    自己的unity项目前几天还一切正常 突然就打不开了 从unity跳转不到hub 从hub点项目转了几圈就没反应了 也没办法新建项目 看了网上很多解决方法 重新登录 没反应 删了unityhub重新下载 没反应 关闭防火墙重新插usb接口这
  • 关于Typora初次下载输入代码时代码行号不显示的问题

    关于Typora初次下载输入代码时代码行号不显示的问题 我刚用Typora的时候 打开代码块发现居然不显示行号 以下是我打开代码块内行号的显示的步骤 我刚用Typora的时候 打开代码块发现居然不显示行号 以下是我打开代码块内行号的显示的步
  • dataframe按照某一列的取值进行拆分

    dataframe按照某一列 假设列名为 columnname 的取值进行拆分 即 比如dataframe的第一列只有 a b 两种取值可能 就把dataframe拆分成两个小的dataframe 一个dataframe的第一列只取 a 另
  • 【WiFi】Hostapd工作流程分析

    目录 1 Hostapd概述 2 Hostapd代码框架 3 Hostapd各种命令配置工具 4 hostaod的主函数 5 hostaod代码分析 1 Hostapd概述 Hostapd是一个运行在用户态的守护进程 可以通过Hostapd
  • JavaScript 入门基础 - 流程控制(四)

    JavaScript 流程控制 分支和循环 文章目录 JavaScript 流程控制 分支和循环 1 什么是流程控制 2 顺序流程控制 3 分支流程控制 之 if语句 3 1 什么是分支结构 3 2 if 语句 3 2 1 if 语句基本理
  • IPV6组播地址

    1 IPV6组播地址 RFC4291定义组播地址格式如下 8 4 4 112 11111111 flgs scop group ID
  • nas文件服务器web接口,nas配置web服务器

    nas配置web服务器 内容精选 换一换 通过Web浏览器登录资源 会话页面载入失败 提示由于服务器长时间无响应 连接已断开 请检查您的网络并重试 Code T 514 云堡垒机系统与资源服务器之间网络连接不稳定 导致连接断开 云堡垒机系统
  • 计蒜客 蒜头君的新游戏(DP)

    蒜头君的新游戏 include
  • 构造函数设置为private,会怎样。

    构造函数设置为private 会怎样 1 无法静态的创建对象了 即不能通过 A a这种方式创建对象了 只能通过在类的内部的静态成员函数中new一个对象 动态的创建对象 include
  • NotScripts扩展在Chrome中禁用网页JavaScript

    经常上网查找资料的朋友 应该对于那些无法复制网页内容的网站是深有感触的 由于这些网站作者为保护自己的网站内容不被他人抄袭 使用了JavaScrip来禁用鼠标右键复制功能 解决办法当然就是用浏览器禁止使用网页的JS加载或者生效了 如果你经常使
  • Hive窗口函数大全

    Hive窗口函数 一 偏移量函数 lag lead 二 窗口分析函数 first value last value 三 排序函数 rank dense rank row number 一 偏移量函数 lag 语法 lag col n def
  • linux网络编程实现投票功能

    投票系统 1 说明 写了一个投票系统 过程是先配置好服务器 在写一个网上投票功能 要实现网上投票功能 其实功能实现还是很简单的 麻烦一点的在于过程比较繁杂 要做的东西还是挺多的 2 过程 第一步 配置httpd服务器 先配置好httpd服务
  • 决策树

    这篇博客用来简要介绍决策树算法 DecisionTree 决策树是机器学习中常用的一种算法 它即可用于解决分类问题 也可用于解决回归问题 在这篇博客我们只介绍分类决策树 决策树顾名思义是一种树形结构 而我们的任务就是想办法构建出这样一颗树用
  • 机器学习入门实战加州房价预测

    目录 1 快速搭建运行环境 2 快速构建项目 2 1 导入训练集 2 2 安装函数库 2 2 1 安装numpy 2 2 2 安装pandas 2 3 构建特征集和标签 2 4 导入数据集拆分工具sklearn 2 5 导入线性回归算法模型

随机推荐

  • Springboot集成security,自定义@Anonymous标签实现免登录,免鉴权

    首先 项目springboot使用了2 6 8版本 集成security的过程中 使用了比较严格的自定义策略 任何请求都需要认证和授权 判断用户是否有查询改接口的权限 并且提供了配置或者注解两种方式提供匿名访问的接口 第一种通过配置 第二种
  • kdtree备份

    库在这里 这个很好用 例子 gcc Wall g o test test c libkdtree a include
  • keil出现 “st-link usb communication error“的解决方法,“升级”固件库

    1 如题 我用keil使用ST LINK下载程序的时候 发现报错st link usb communication error 2 明明上周还是可以用的 这周就不行了 想一想问题出在哪里 原来我在另外一块开发板上下载程序也是一直报错 kei
  • 生成android toolchain

    1 安装ndk 推荐的方法是先安装android studio2 2及以上版本 然后通过sdk manager安装ndk 如果是ubuntu系统 强烈建议64位的14 04及以上系统 2 在Android目录 android studio安
  • 博哥爱运维教程&视频

    文章目录 第1关 K8s一窥真容 第2关 部署安装包及系统环境准备 第3关 二进制高可用安装k8s生产级集群 第4关 K8s最得意的小弟Docker 第5关 K8s攻克作战攻略之一 K8s的API对象 所有怪物角色列表 Namespace
  • AXI总线介绍

    AXI总线介绍 参考文档 UG761 AXI Reference Guide v14 3 AXI入门 深入AXI总线 一 深入AXI总线 二 AXI是什么 axi是一种总线协议 他是ARM AMBA Advanced Microcontro
  • Unity Shader: Shader粒子广告牌

    广告牌效果既是不论物体与摄像机的角度 被渲染物体总是正对着摄像机 此技术广泛利用于粒子效果中 例如Unity内置的Particle System 下文将要介绍如何在Shader中实现广告牌效果 在视空间对顶点进行重定位 图1 摄像机绑定在立
  • 关于实现shiro权限拦截遇到的一些坑

    目的 通过拦截器实现对部分请求的拦截做自定义的鉴权处理 鉴权不通过时实现json返回 bug 通过继承 PermissionsAuthorizationFilter 实现了自定义的鉴权处理 但是前端报错302并做了请求转发 配置 1 在 S
  • vue脚手架 快速搭建项目

    使用vue cli vue脚手架 快速搭建项目 什么是vue cli 使用vue cli搭建项目步骤 1 安装NodeJs 下载node js到本地 2 安装npm 3 安装淘宝npm镜像 4 全局安装vue cli脚手架 5 测试环境是否
  • 交换机与MAC地址

    目录 前言 1 以太网MAC地址 2 以太网帧格式 3 交换机的工作原理 3 1交换机以太网接口的工作模式 3 2交换机以太网接口速率 4 华为命令 4 1管理路由器 交换机的方式 总结 前言 1 什么是交换技术 MAC地址又有什么作用 交
  • 【1】掌握浏览文件目录类命令

    1 浏览目录类命令 pwd 查看用户当前所处目录位置 cd 切换命令 1 代表当前目录 2 代表当前目录父目录 3 代表家目录即主目录 4 返回上一级 cd 返回上两级 ll或ls 列出文件或目录信息 ll比ls详细 1 文件 2 d 目录
  • bert-base-ner-train训练没有打印loss及step等重要参数信息(写给初学者)

    在跟随大牛 Macanv 基于BERT预训练的中文命名实体识别TensorFlow实现 的帖子一步步实现时 发现了一个非常困扰的问题 就是执行以下语句后 屏幕上什么提示也没有 比如loss是多少 进行到哪一步了step等等 百度一顿搜索后
  • Wallpaper Engine特性仿制

    wallpaper master 起源 最近一直在折腾一下壁纸的东西 前段时间刚写了一个跨平台桌面 windows linux kde 的壁纸网络应用 个人使用效果还不错的样子 地址 前两天突然发现了wallpaper engine这个软件
  • 从0开始搭建微信小程序(前后端)的全过程

    前言 有段时间比较闲就尝试着做了一个微信小程序 一是为了锻炼自己独立部署一个前后端全链路系统的能力 二是想做一个自己都想用的小程序出来 方向是让用户可以集中获取优质的电影 音乐 书籍 游戏等信息的推荐 那什么是优质的信息呢 我这里假设的是排
  • FreeBSD tips

    56 Ports如何清除安装参数cd usr ports www operamake distclean移除不是port collections所期望下载的文件 make rmconfig清除用户配置的参数make showconfig查看
  • vue使用高德地图搜索以后自动生成的marker的点击事件

    vue使用高德地图搜索以后自动生成的marker的点击事件 在确认初始化地图以后 执行下面的方法 searchMap addr let this this let autoOptions city 全国 map this map 展现结果的
  • GKDtdqgzTx

    博客搬家
  • 3.3 CPU共享功能

    最后更新2021 08 11 Power VM共享CPU的策略由Power CPU架构 Hypervisor 和AIX进程调度功能综合实现 我们可以将这个过程分为两个阶段 AIX对进程 线程 进行调度 让线程尽量集中运行在 同一 物理CPU
  • Phabricator搭建

    最近一直想搭建一个代码审查的系统 最后选了Phabricator Phabricator这个软件就不多介绍了 直接切入主题 1 系统选择CentOS6 5 当然也可以在windows上安装 本人未尝试过 个人觉得毕竟多数开源软件都是基于Li
  • [bzoj3309] DZY Loves Math

    题目大意 对于正整数n 定义f n 为n所含质因子的最大幂指数 例如f 1960 f 2 3 5 1 7 2 3 f 10007 1 f 1 0 给定正整数a b 求 ai 1 bj 1f i j sum i 1 a sum j 1 b f