SPOJ VLATTICE(莫比乌斯反演)

MapReduce初级实践:WordCount、Hadoop环境搭建与避坑指南 在大数据处理领域,分布式计算框架是处理海量数据的核心基础设施。MapReduce作为经典的并行编程模型,通过将任务拆分为Map和Reduce两个阶段,实现了数据的分而治之与高效聚合。理解其工作原理,需要掌握HDFS文件系统、YARN资源调度以及序列化机制等基础概念。对于初学者而言,从WordCount案例入手,配合伪分布式环境搭建,能够快速验证整个数据处理链路。随着实践深入,Combiner预聚合、自定义Writable类型、排序比较器等优化手段,能显著提升作业性能。在工程应用中,这些技术常用于日志分析、词 阅读详情

题意:

在一个三维空间中,已知(0,0,0)和(n,n,n),求从原点可以看见多少个点


思路:

如果要能看见,即两点之间没有点,所以gcd(a,b,c) = 1         /*来自kuangbin

利用推GCD(a,b)的方法,可以推出GCD(a,b,c) = 1的个数等于mu[i]*(n/i)*(n/i)*(n/i)的和

然而是从0点开始的,而我们只能从1开始计算,因为少了0周围的所有ans初始+3

对于A(0,0,1),所以在计算mu[i]*(n/i)*(n/i)*(n/i)时,我们忽略了A与x,y轴的求出来点的关联情况,所以加上

(n/i)*(n/i),而且有3个点所以每次要加上3*(n/i)*(n/i).   /*纯属个人理解- -


#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <queue>
#include <vector>
#include <algorithm>
#include <functional>
typedef long long ll;
using namespace std;
const int inf = 0x3f3f3f3f;
const int maxn = 1000000+10;

int is_prime[maxn];
int prime[maxn];
int sum[maxn];
int mu[maxn];
int tot;

int a,b,c,d,k;
ll Min(ll x,ll y)
{
    if(x < y) return x;
    else return y;
}
void Moblus()
{
    tot = 0;
    memset(is_prime,0,sizeof(is_prime));
    mu[1] = 1;
    for(int i = 2; i <= maxn; i++)
    {
        if(!is_prime[i])
        {
            prime[tot++] = i;
            mu[i] = -1;
        }

        for(int j = 0; j < tot; j++)
        {
            if(prime[j]*i>maxn)
                break;
            is_prime[i*prime[j]] = 1;
            if(i % prime[j])             //prime[j]不重复
            {
                mu[i*prime[j]] = -mu[i];
            }
            else
            {
                mu[i*prime[j]] = 0;
                break;
            }
        }
    }
}



int main()
{
    int T,n;
    Moblus();
    scanf("%d",&T);
    while(T--)
    {
         scanf("%d",&n);
        ll ans = 3;
        for(int i = 1;i <= n;i++)
            ans += (ll)mu[i]*((ll)(n/i)*(n/i)*(n/i) + (ll)(n/i)*(n/i)*3);
        printf("%lld\n",ans);
    }
    return 0;
}





spoj4491 莫比乌斯反演 gcd(a,b)= d (d为素数,1<=a<=n,1<=b<=m) 立即下载

相关推荐

Android13 SurfaceFlinger启动流程分析

在Android13版本中,SurfaceFlinger是由Android.bp去启动init.rc文件,然后再解析文件去加载SurfaceFlinger。上面方法主要处理如下:1、调用surfaceflinger的createSurfaceFlinger方法,实例化surfaceflinger。2、调用flinger(surfaceflinger)的init()方法,在客户端连接之前进行初始化。

liuning1985622的博客 1918

POJ - 3090+SPOJ - VLATTICE (欧拉函数 莫比乌斯反演)

POJ - 3090+SPOJ - VLATTICE (欧拉函数 莫比乌斯反演) 原题:https://vjudge.net/problem/10261/origin+https://vjudge.net/problem/SPOJ-VLATTICE 题意:求这样的数对x,y,满足(0,0)到(x,y)连线上无整数点。poj这题是在二维平面上,spoj是在三维空间上。 两道题都可以转化为gcd==1,都可以用莫比乌斯反演解决。

ACZone 591

C#与西门子PLC通讯——新手快速入门

本文基于C# .Net Core和西门子博图TIA Portal V17搭建。由于手边没有西门子PLC实物,所以采用S7-PLCSIM Advanced V4.0作为模拟PLC,以实现0成本完成通讯测试实例。这篇入门笔记解决了新手第一次上手实践时遇到的坑,并且有意忽略了实际项目中会遇到的逻辑交互和更多的数据格式问题。

吾家有猫名探花的博客 2万+

SPOJ VLATTICE (莫比乌斯反演)

SPOJ VLATTICE (莫比乌斯反演) 传送门:https://www.spoj.com/problems/VLATTICE/en/ 题意: 在三维坐标系下,你在点(0,0,0),看的范围是(n,n,n)以内,求你可以看见多少个点没有被遮挡 题解: 一条线上的点肯定是会被挡的 所以我们求的是\(gcd(x,y,z)==1\)的组数 我们设 \...

buerdepepeqi的优快云博客 222

逆向实战:如何绕过iTunes 12.6.5.3的反调试机制(附X64dbg插件配置)

本文深入剖析了iTunes 12.6.5.3的反调试机制与登录协议。通过X64dbg动态调试与IDA静态分析,详细演示了如何绕过其反调试检测,并定位到核心的登录协议加密函数,揭示了其请求签名(X-Apple-ActionSignature)的生成逻辑与依赖关系,为客户端安全研究与协议分析提供了实战思路。

weixin_29202213的博客 742

告别命令行恐惧!用nTopology可视化工具5分钟搞定三维Voronoi泡沫建模

本文介绍如何利用nTopology可视化工具快速生成三维Voronoi泡沫结构,无需编程即可完成复杂建模。Voronoi结构在轻量化设计、能量吸收和生物医学等领域具有重要应用,传统命令行方法门槛较高。通过nTopology的四步流程,用户可在5分钟内创建仿真就绪模型,大幅提升设计效率。

weixin_30764771的博客 425

SPOJ 7001 VLATTICE【莫比乌斯反演】

题目链接: http://www.spoj.com/problems/VLATTICE/ 题意: 1≤x,y,z≤n,问有多少对(x,y,z)使得gcd(x,y,z)=1 分析: 欧拉搞不了了,我们用莫比乌斯来搞一搞。 同样,我们设 f(d):满足gcd(x,y,z)=d且x,y,z均在给定范围内的(x,y,z)的对数。 F(d):满足d|g...

An55511的博客 253

变压器耦合放大器(低频应用+高频应用)

变压器耦合放大器(低频应用+高频应用)

m0_54943120的博客 2274

SPOJ VLATTICE Visible Lattice Points 初入莫比乌斯

题意:求两个点(x,y,z)的连线不经过其他点有几个 解:即为求GCD(x,y,z)为1的点有几个 解一:因为x,y,z均在1~n内,所以可以用欧拉函数解出 解二:莫比乌斯反演 设f[n]为GCD(x,y,z)=n的个数 设F[b]为b|GCD(x,y,z)的个数,很明显F[b]=(n/i)*(n/i)*(n/i) 所以F[n]=sigema(b|n,f[b]); f[n]=sige

trq1995的专栏 1097

Python与ArcGIS系列(二)获取地图文档

在ArcPy中,要引用当前的地图文档(Map Document),可以使用 mapping 模块中的 MapDocument 类。值得注意的是,在arcgis内部python窗口运行该代码才能访问已加载进arcgis的文档,如果通过其他idle则无法访问。要引用磁盘上的地图文档并对其进行一些设置,同样可以使用ArcPy中的 mapping 模块和 MapDocument 类。对于我们平常的工作,接触最多的就是图层数据处理,获取图层后就可以方便地进行下一步处理。

weixin_43894929的博客 2200

Linux C/C++ or 嵌入式面试之《C/C++笔面试系列》(10) C++ 前置后置增减运算符重载形式与比较

C语言的++、–运算符在此不讨论。 文章目录1、前置后置增减运算符重载的形式2、前置和后置运算符的性能比较 1、前置后置增减运算符重载的形式 自增运算符“++”和自减运算符“–”分别包含两个版本。即运算符前置形式(如 ++x)和运算符后置形式(如 x++),这两者进行的操作是不一样的。因此,当我们在对这两个运算符进行重载时,就必须区分前置和后置形式。C++根据参数的个数来区分前置和后置形式。如果按照通常的方法来重载 ++ 运算符(即作为成员函数重载时不带参数,或者作为非成员函数重载时带有一个参数),那么重载

二进制君 5831

SPOJ VLATTICE 莫比乌斯反演

题目链接:https://www.spoj.com/problems/VLATTICE/en/ VLATTICE - Visible Lattice Points Description Consider a NNN lattice. One corner is at (0,0,0) and the opposite one is at (N,N,N). How many lattice...

banqu3475的博客 238

用 OData V2 元数据驱动表格体验:SAP UI5 Smart Table 全面解析

摘要: Smart Table是SAPUI5中基于OData元数据自动生成表格的控件,支持个性化、排序、过滤等高级功能。文章从九个维度深入解析其工作机制:1)通过元数据和注解自动生成列;2)支持多种表格类型;3)关键属性的静态化特性;4)与其他智能控件的协同;5)导航属性和导出的处理;6)响应式设计;7)个性化配置;8)性能优化策略;9)端到端实现案例。Smart Table通过读取OData元数据自动完成表格渲染,大幅减少开发工作量,特别适合企业级应用开发场景。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 321

SPOJ - VLATTICE Visible Lattice Points(gcd(x,y,z)=1的对数/莫比乌斯反演)

题目链接: SPOJ - VLATTICE Visible Lattice Points 题意: 一个n*n*n的方格,从最左下角(0, 0, 0)最多可以看到多少个点?(不被遮挡)包括方格内部。 分析: 假设能看到的点的坐标为(x,y,z)则必须满足:gcd(x,y,z)=1。(0≤x,y,z≤n)。当x=y=z=0时是不成立的。当x,y,z中有两个为0时,只有三种情况(0,0,1),(

ramay7 911

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

莫比乌斯反演 - Visible Lattice Points - SPOJ - VLATTICE

莫比乌斯反演 - Visible Lattice Points - SPOJ - VLATTICE 题意: 给定一个n×n×n的立方体,从(0,0,0)看过去,问能够看到多少个点。给定一个n×n×n的立方体,从(0,0,0)看过去,问能够看到多少个点。给定一个n×n×n的立方体,从(0,0,0)看过去,问能够看到多少个点。 空间中,一个点X能够被点Y看到的充要条件是:点X和点Y的这条线段上,不存在其他点。空间中,一个点X能够被点Y看到的充要条件是:点X和点Y的这条线段上,不存在其他点。空间中,一个点X能够被

njuptACMcxk的博客 205

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

[SPOJ VLATTICE]Visible Lattice Points 数论 莫比乌斯反演

7001. Visible Lattice Points Problem code: VLATTICE Consider a N*N*N lattice. One corner is at (0,0,0) and the opposite one is at (N,N,N). How many lattice points are visible from co

一维空间 1657

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

关于莫比乌斯反演的几个题目(更新中)

网络赛中有一道数论题出现了莫比乌斯反演这个概念,今天就学了一下 当g(x) = sigma{f(d),d|x} 则f(x) = sigma{mu(d)*g(x/d),d|x}  其中mu(d)为莫比乌斯函数,详细了解请看具体数学吧 1.SPOJ VLATTICE 果断不会的,就翻了题解,这道题题解刚开始都看不懂。 后来才知道,莫比乌斯函数有另一种形式 当g(x) = sigma{

my coding life 3270

莫比乌斯反演 SPOJ - VLATTICE Visible Lattice Points

题意: 从立方体点阵,从(0,0,0)到(N,N,N),给定N求从(0,0,0)能看到的点的个数,其中能看到是指两点的连线的线段上没有其他的点。 题解: 题意可转换为从点(0,0,0)出发,以其余任一点结束,方向不同的向量数。 对于任一点(x,y,z),若gcd(x,y,z)=d,其中d>1,则必存在点挡住了该点。 因此,其实最后要求的就是gcd(x,y,z)=1的(x,y,z)的...

qq_38515845的博客 241

SPOJ VLATTICE Visible Lattice Points(莫比乌斯反演)题解

题意: 有一个\(n*n*n\)的三维直角坐标空间,问从\((0,0,0)\)看能看到几个点。 思路: 按题意研究一下就会发现题目所求为。 \[ (\sum_{i=1}^n\sum_{j=1}^n\sum_{k=1}^n[gcd(i,j,k)==1])+(\sum_{i=1}^n\sum_{j=1}^n[gcd(i,j)==1])\\+(\sum_{i=1}^n\sum_{k=1}^n[...

weixin_30496431的博客 123

【莫比乌斯反演】[SPOJ VLATTICE]Visible Lattice Points

题目描述: Consider a N*N*N lattice. One corner is at (0,0,0) and the opposite one is at (N,N,N). How many lattice points are visible from corner at (0,0,0) ? A point X is visible from point Y iff no other

JeremyGJY的专栏 610

SPOJ-VLATTICE Visible Lattice Points-莫比乌斯反演

需要将问题分解一下。 我们需要求的是这个立方体从(0,0,0)能看到的点的个数。可是在三个含有(0,0,0)的面上我们没有办法和其他的一起进行分析(因为含有坐标是0,而我们的数论工具都是从1开始的),所以我们可以将那三个面分开考虑,剩下的就是一个立方体,这个立方体中能看到的点的坐标就是gcd(x,y,z)=1,然后用莫比乌斯反演进行处理。对于那三个面,首先是三个坐标轴上我们只能看到三个点,剩下的每...

T_T233333333的博客 266

SPOJ - VLATTICE Visible Lattice Points (莫比乌斯反演)

Consider a N*N*N lattice. One corner is at (0,0,0) and the opposite one is at (N,N,N). How many lattice points are visible from corner at (0,0,0) ? A point X is visible from point Y iff no other latti

baidu_35522092的博客 470

SPOJ-7001 VLATTICE 莫比乌斯反演定理

  题目链接:http://www.spoj.com/problems/VLATTICE/   题意:求gcd(x,y,z)=1,1<=x,y,z<=n,的个数。   开始做的时候枚举gcd(x,y),然后求z与gcd(x,y)互素的个数个数,O(n*sqrt(n))赌赌RP,然后TLE了。。。   后来才知道要用到莫比乌斯反演定理:       已知 f(n) = sigma...

weixin_30951743的博客 136
上一篇: hzoj 2301(莫比乌斯反演)
下一篇: poj 3904(莫比乌斯反演)
Tyuio28
博客等级 码龄11年 12粉丝 279原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值