【2018 Multi-University Training Contest 10】Calculate(莫比乌斯反演)

Allegro如何用自带的功能将线段变成铜皮操作指导 在做PCB设计的时候,有时根据设计需要将线段变成铜皮,可以借助辅助工具来实现这一操作,但是Allegro自身也自带这个功能,如下图。勾选Delete original objects。如何用自带的功能将线段变成铜皮操作指导。勾选Convert to shape,需要把这段走线变成铜皮。 阅读详情

Problem Description
Given A, B, C, Calculate
这里写图片描述

Where φ(n) denotes the number of positive integers ≤ n that are relatively prime to n.

Input
The first line of the input contains an integer T , denoting the number of test cases. In each test case, there are three integers A, B, C in one line, as described above.
1 ≤ T ≤ 10, 0 < A, B, C ≤ 10^7

Output
For each test case, output one line contains a single integer, denoting the answer modulo 2^30.

Sample Input
4
96 93 95
970 906 893
92460 95043 54245
9760979 8053227 7156842

Sample Output
1114536
28070648
388873924
623507672

为方便起见下文(a,b)(a,b)均指代gcd(a,b)gcd(a,b)
题解给的东西跳过太多步骤了,我觉正常思路应该是这样的:

∑i=1A∑j=1B∑k=1Cϕ((i,j2,k3))=∑i=1A∑j=1B∑k=1C∑d|i,d|j2,d|k3ϕ(d)∗[(id,j2d,k3d)==1]∑i=1A∑j=1B∑k=1Cϕ((i,j2,k3))=∑i=1A∑j=1B∑k=1C∑d|i,d|j2,d|k3ϕ(d)∗[(id,j2d,k3d)==1]

易知有:
g(n)=∑d|nμ(d)=[n==1?1:0]g(n)=∑d|nμ(d)=[n==1?1:0]

所以有:
=∑i=1A∑j=1B∑k=1C∑d|i,d|j2,d|k3ϕ(d)∗∑l|(id,j2d,k3d)μ(l)=∑i=1A∑j=1B∑k=1C∑d|i,d|j2,d|k3ϕ(d)∗∑l|id,l|j2d,l|k3dμ(l)=∑i=1A∑j=1B∑k=1C∑d|i,d|j2,d|k3ϕ(d)∗∑l|(id,j2d,k3d)μ(l)=∑i=1A∑j=1B∑k=1C∑d|i,d|j2,d|k3ϕ(d)∗∑l|id,l|j2d,l|k3dμ(l)

那么到这里,我们去枚举 t=l∗dt=l∗d,显然我们可以发现t是同样满足t|i,t|j2,t|k3t|i,t|j2,t|k3.那么里面的l和d就是一个狄利克雷卷积的形式了
得:
∑i=1A∑j=1B∑k=1C∑t|i,t|j2,t|k3(μ∗ϕ)(t)∑i=1A∑j=1B∑k=1C∑t|i,t|j2,t|k3(μ∗ϕ)(t)

这里才到题解的第一步……..
后面就是反演的套路啊,把里面的东西拿到外面来:
∑t=1(μ∗ϕ)(t)∑t|iA∑t|j2B∑t|k3C∑t=1(μ∗ϕ)(t)∑t|iA∑t|j2B∑t|k3C

至于后面这个东西,也的确是厉害,但是只要用唯一分解定理简单分析一下,其实就是可以了
A的个数显然是AtAt
那第二个呢?实际上j平方代表了本来我的因子不够,但是平方了以后就足够整除t了,所以答案一定变大的,本质原因就是对于kk次:

fk(x)=∏i=0pi⌈aik⌉

显然k等于1时,f1(x)=xf1(x)=x,那么B就是Bf2(t)Bf2(t),C的贡献就是Cf3(t)Cf3(t)
狄利克雷卷积是积性,fkfk显然也是积性均可以线性筛。
就可以做了。。。。。。
具体实现,需要记录一下每个数最小质因子的幂次,来得到fkfk

这题如果不用unsigned int就会超时啊。。。
代码:

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define ull  unsigned long long
#define ll long long
#define ul unsigned int
#define maxn 10000005
using namespace std;
ul mod=1<<30;
bool isP[maxn];
int prime[maxn],cnt=0;
int g[maxn];
int e[maxn];//数中最小质数的幂次大小
int p[maxn];
int f2[maxn],f3[maxn];
void init()
{
    g[1]=f2[1]=f3[1]=1;
    for(int i=2;i<maxn;i++)
    {
        if(!isP[i])
        {
            prime[cnt++]=i;
            g[i]=i-2;
            e[i]=1;
            p[i]=f2[i]=f3[i]=i;
        }
        for(int j=0;j<cnt&&(ll)i*prime[j]<maxn;j++)
        {
            int _p=prime[j];
            int now=i*_p;
            isP[now]=true;
            if(i%_p)
            {
                e[now]=1;
                p[now]=_p;
                f2[now]=f2[i]*_p;
                f3[now]=f3[i]*_p;
                g[now]=g[i]*(_p-2);
            }
            else
            {
                e[now]=e[i]+1;
                p[now]=p[i]*_p;
                f2[now]=f2[i]*(e[i]%2?1:_p);
                f3[now]=f3[i]*(e[i]%3?1:_p);
                g[now]=(p[now]-p[now]/_p*2+p[now]/(_p*_p))*g[now/p[now]];
                break;
            }
        }
    }
}
int A,B,C;
int main()
{
    init();
    int t;
    cin>>t;
    while(t--)
    {
        cin>>A>>B>>C;
        ul ans=0;
        for(int i=1;i<=A;i++)
           ans+=g[i]*(A/i)*(B/f2[i])*(C/f3[i]);

        cout<<(ans&(mod-1))<<endl;
    }
    return 0;
}
R语言LASSO回归作图为什么X轴使用-log(λ)而不是log(λ),如何转化为log(λ)? 🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀! 阅读详情

相关推荐

100个Python代码大全:学完这篇从Python小白到架构师

Python是一种广泛使用的高级编程语言,以其简洁优雅、易于学习和强大的库而闻名。无论你是一位经验丰富的程序员还是初学者,都可以从这种语言的丰富资源中受益。在本篇博客中,我将分享100个实用的Python代码示例,旨在帮助你掌握Python编程,并在日常工作中提高效率。

penggerhe的博客 1万+

题解:2018 Multi-University Training Contest 10

Problem G. Cyclic 递推。 #include&lt;stdio.h&gt; #define N 100009 #define M 998244353 #define mul(a,b,c) ((a)*(b)%(c)) typedef long long ll; ll t,n,f[N]= {0,1,0,1,1}; int main() { for(ll i=5; i&lt;...

wu-kan 430

半导体功率器件IGBT工艺全流程

本文概述了功率器件IGBT(绝缘栅双极型晶体管)的关键制造流程。主要工艺包括:基板制备、离子注入(B+/P+/P+FS层)、绝缘膜形成与加工(CVD沉积及刻蚀)、沟槽刻蚀、电极形成(Emitter和Collector)等步骤。通过离子注入、化学气相沉积和物理气相沉积等半导体工艺,依次完成器件各功能层的构建,最终形成具备高功率特性的IGBT器件。该流程体现了功率半导体制造中典型的掺杂、薄膜沉积和图形化工艺技术。

751

[赛后总结]2018 Multi-University Contest-多校赛总结

先放凉凉的排名 表示初中生真的对高数毫无知觉啊… 接下来就是N∗3(N≤1000)N*3(N≤1000)N∗3(N≤1000)...

dcxa92155的博客 494

PLDM入门(七):FRU Data Format

每个字段为TLV(Type-Length-Value)格式,具体类型、长度范围和值定义需参考。通过条件过滤(记录句柄、类型、字段类型等)分块获取FRU记录数据(可选功能)。整个FRU数据表由多个FRU记录数据块组成,每个数据块对应表2的结构(即包含。决定,每个字段按顺序排列(Type→Length→Value)通过分块传输方式写入FRU记录表数据(需终端支持写入操作)。(文档未提供表5内容,需结合标准文档完整版)。、字段数量、编码类型及具体字段的TLV数据)。无请求数据(空请求)。

weixin_44032634的博客 1762

用Docker-Compose三节点部署生产级Doris集群:从配置文件到故障转移

本文详细介绍了如何使用Docker-Compose部署一个生产级的三节点Apache Doris集群。内容涵盖从核心架构理解、配置文件编写到集群初始化验证的全过程,并重点讲解了如何实现高可用、数据持久化、健康检查以及故障转移等生产级运维关键点,为中小团队提供了一种在容器化便利性与系统稳定性间取得平衡的可靠部署方案。

kkk56的博客 856

2018 Multi-University Training Contest 10--HDU 6437 Problem L.Videos(最大费用最大流)

题意: 有 k 个人看 m 个视频,一天有 n 个小时,每个视频只能一个人看,看完一个视频那个人会获得 W 快乐值,视频有自己的限制种类,视频种类相同一起看会扣 w 快乐值。问一天这群人最多可以获得多少快乐值。 题解: 我们可以想象 k 个人就是 k 流量,把一个视频想象成一个边,构成一个有源点和汇点,这样就可以跑最大费用最大流(把费用取负跑最小费用)。 AC代码 #include &...

yanhu6955的博客 250

无人驾驶感知融合——横摆角速度的多源估计算法解析

本文深入解析了无人驾驶感知融合中的横摆角速度多源估计算法,详细介绍了轮速差法、侧向加速度法、曲率法和惯性传感器直读法四种计算方法及其优缺点。通过卡尔曼滤波实战案例,展示了多源融合算法在提升精度和稳定性方面的显著优势,并探讨了工程实践中的时间对齐、坐标系统一等关键问题。

weixin_31458015的博客 462

2018 Multi-University Training Contest 1

1001. Maximum Multiple 1=12+13+16=13+13+13=12+14+141=12+13+16=13+13+13=12+14+141=\frac{1}{2}+\frac{1}{3}+\frac{1}{6}=\frac{1}{3}+\frac{1}{3}+\frac{1}{3}=\frac{1}{2}+\frac{1}{4}+\frac{1}{4}. 1002. ...

J. Cole 454

大厂面经:京东大数据面试题及参考答案(3万字长文)

Kafka是一个开源的分布式流处理平台,由 LinkedIn 开发并在 2011 年贡献给 Apache 软件基金会。高吞吐量:能够处理大量的数据流,适合实时数据管道。持久性:数据存储在磁盘上,确保数据不丢失。容错性:通过数据复制提供高可用性。扩展性:支持水平扩展,易于增加更多节点。Kafka 的核心概念Topic:逻辑上的数据流,可以理解为主题。Producer:生产数据的应用程序。Consumer:消费数据的应用程序。Broker:Kafka 集群中的服务器节点。Partition。

大模型大数据攻城狮的专栏 863

基于CNN-LSTM融合模型的环卫车动态称重算法研究:从频率感知到精准质量估计

摘要: 针对环卫车辆动态称重需求,本研究提出一种基于CNN-LSTM融合网络的频率分析方法。通过在实验室构建振动频率采集系统,获取不同载重下的结构响应数据,经MATLAB进行信号处理和特征提取后,建立频率-质量的非线性映射模型。实验表明,该算法在静态和模拟动态场景下平均绝对误差小于1.5%,显著优于传统方法,为环卫车智能化管理提供了高精度实时称重方案。 关键词: 动态称重;深度学习;频率分析;CNN-LSTM;MATLAB。

AI的内部世界的博客 374

2018 Multi-University Training Contest 10----hdu 6433 Pow(大数运算)

点击链接 题意:            给你一个n,找共有多少种组个方式 思路:          其实这个东西就是个幌子,真正让你求的其实就是n个数字总共有多少种排列方式,也就是次,而题目给的数字较大,需要大数板来写     一般来说这个是需要大数板来写的,但是看大佬的代码看到了一个神奇的东西,代码如下 #include&lt;bits/stdc++.h&gt; using na...

weixin_41897204的博客 353

“守望先锋”网络同步分析

守望先锋”(Overwatch)是一款由暴雪娱乐开发的团队基础第一人称射击游戏(FPS),于2016年正式发布。游戏以其独特的角色设计、丰富的游戏模式和高度的团队合作性而受到广泛欢迎。类型:第一人称射击(FPS)/多人在线战斗竞技场(MOBA元素)平台玩家人数:每场比赛由两个六人队伍组成,共12名玩家。客户端/服务器模型:在这种模型中,客户端负责处理用户输入和表现逻辑,而服务器则负责游戏的核心逻辑和状态管理。客户端与服务器之间通过网络进行通信,确保游戏状态的一致性。强同步机制。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 427

2018 Multi-University Training Contest 10 1010 Problem J. CSGO(hdu6435)

题目链接:hdu 6435 Problem J. CSGO Sample Input 2 2 2 1 0 233 0 666 0 123 0 456 2 2 1 100 0 1000 100 1000 100 100 0 Sample Output 543 2000 题意:n个主武器,m个副武器,每个武器有一个s值和k个属性,现在选一个主武器,一个副武器,要求两个武器的对应属性值的...

yz467796454的博客 489

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

2018 Multi-University Training Contest 10 hdu 6435 Problem J. CSGO(差值求和最大)

http://acm.hdu.edu.cn/showproblem.php?pid=6435   多个属性的差值求和最大值问题。 可以想到最后的答案一定是a1-a2 或者是a2-a1 来组成的,那么我们就可以枚举每个属性前面的符号来取最大值 用状压来实现 1024*n   #include&lt;bits/stdc++.h&gt; using namespace std; long...

三水的鱼塘♂ 228

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

2018 Multi-University Training Contest 5__全部题解+标程

非常简单:B, E 简单:C, G, H 中等:A, F, I, K 困难:D, J, L 而正确通过每道题目的队伍数量如下: 题目 A B C D E F G H I J K L 通过数量 7 457 2 10 906 3 193 44 2 3 1 0 提交数量 ...

Scar_Halo 6704

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

2018 Multi-University Training Contest 10----hdu 6432 Cyclic

题目链接 题意:             找到n个数的循环排列组合之中不会出现[ i , i+1 % n ]的情况             例如第一个样例n=4的时候             不能出现1 - 2  , 2 - 3   , 3 - 4  , 4 - 1这几种情况             1 3 2 4像这种是错误的,因为可以循环排列,实际上是1 3 2 4 1 3 2 4 ...

weixin_41897204的博客 257

2018 Multi-University Training Contest 2

hdu 6312 Game   可以自己从1-8试一下,发现alice必赢。 输出yes即可   #include&lt;bits/stdc++.h&gt; using namespace std; int main(){ int n; while(cin&gt;&gt;n) { cout&lt;&lt;"Yes"&lt;&lt;endl; ...

三水的鱼塘♂ 335

2018 Multi-University Training Contest 10

Rank Solved A B C D E F G H I J K L 67/761 6/12 . . Ø Ø O . O O O O . O O: 当场通过 Ø: 赛后通过 .: 尚未通过 A Alkane unsolved B Beads unsolved C Calculate upsolved by chelly chelly's solution D ...

banhe8035的博客 204

2018 Multi-University Training Contest 10 Problem L.Videos(1012)

  费用流 #include&lt;bits/stdc++.h&gt; using namespace std; const int N = 500; const int inf = 0x3f3f3f3f; int T, n, m, K, W, tar; bool inq[N]; int a[N], d[N], p[N]; struct Movie{ int s, t, w, ...

weixin_40800935的博客 326

2018 Multi-University Training Contest 10 Problem L.Videos

Problem L.Videos Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others) Total Submission(s): 0    Accepted Submission(s): 0   Problem Description C-bacteria takes cha...

~不可描述~ 276

17年ACM/ICPC亚洲区域赛现场赛乌鲁木齐站(D题和K题)

这次在乌市现场赛的关键是D题和K题,就这两个问题来实际探讨一下。 就比赛前一刻,我突然想起前1到n的平方和1到n的平方和,然后我问东东通向公式是多少,最后我还是想起来,但是没想到,在比赛的时候还真的用着了。这是题外话,咳咳。 由于题目资源放在计蒜客平台上,而且要到明年2月才开放,所以只能拿自己在现场赛的纸质题目了… D题: 题目大意就是在一个圆上,在其圆周上放置n个点,问最多

Coldfresh的博客 1320

莫比乌斯反演与莫比乌斯函数

自己摸索了这么久 感觉是可以总结了(如果不是因为多校我应该不会接触这个吧),这个结论性比较强,我基本把所有需要证明或者是比较隐晦的中间过程都证明了一遍。其实知道怎么用就行了,但是证明过程中的一些技巧值得思考和体会。 设有函数F(x)和f(x),其定义域在正整数范围内,其之间存在着如下给定关系: F(n)=∑d|nf(d)F(n)=∑d|nf(d)F(n)=\sum_{d|n} f(d) 这个...

Coldfresh的博客 1187

能量采集 HYSBZ - 2005(莫比乌斯)(详细过程推导)

栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量。在这些植物采集能量后, 栋栋再使用一个能量汇集机器把这些植物采集到的能量汇集到一起。 栋栋的植物种得非常整齐,一共有n列,每列 有m棵,植物的横竖间距都一样,因此对于每一棵植物,栋栋可以用一个坐标(x, y)来表示,其中x的范围是1至n, 表示是在第x列,y的范围是1至m,表示是在第x列的第y棵。 由于能量汇集机器较

Coldfresh的博客 1137

莫比乌斯函数模板

#include<cstdio> #include<algorithm> #include<cmath> #include<iostream> #include<stack> #include<vector> #include<cstring> #define N 100005 using namespace std; vector<int> prime; bool pri[N]; int mu[N

Coldfresh的博客 893

Gcd表中的质数 51Nod - 1192 (莫比乌斯反演)

有一个M * N的表格,行与列分别是1 - M和1 - N,格子中间写着行与列的最大公约数Gcd(i, j)(1 <= i <= M, 1 <= j <= N)。 例如:M = 5, n = 4。1 2 3 4 5 1 1 1 1 1 1 2 1 2 1 2 1 3 1 1 3 1 1 4 1 2 1 4 1给出M和N,求这张表中有多少个质数。 Input 第1行:一个数T,表示后面用

Coldfresh的博客 620
上一篇: 【ZOJ - 2116】Christopher's Christmas Letter(Lucas)
下一篇: 【51nod】最复杂的数 (简单搜索)
coldfresh
博客等级 码龄10年 107粉丝 405原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值