[POI2007]Zap

JPA - @MappedSuperclass - 基类注解 目录前言代码示例 前言 @MappedSuperclass注解一般作为基类的注解,表眀该类是映射的超类,继承于它的子类实体在映射时会自动添加到子类实体的对应数据库表中,用于共同的属性代码复用和模型分离。 代码示例 BaseEntity.java import lombok.Getter; import lombok.Setter; import javax.persistence.MappedSuperclass; import java.util.Date; @Getter @Setter @Ma 阅读详情

这道题很难……不看题解做不出……(实际上看了题解也不是很懂……)

我觉得CLJ和JZP都没有说清楚……

这道题是容斥,但做的时候实际上是莫比乌斯反演(话说莫比乌斯反演也就是容斥)

他要求gcd(x,y)=d,x<=a,y<=b的x,y的对数

实际上就是求gcd(x,y)=1,x<=a/d,y<=b/d的对数

设f(k)为gcd=k的,F(k)为gcd为k的倍数的

显然F(k)=sigma(f(d)) (k|d)

f(k)不好求,但是F(k)比较好求,它等于(a/k)*(b/k)

那么我们可以通过F来反解出f

f(k)=sigma(F(d/k)*μ(d)) (k|d)

现在要求f(1),那么我们可以通过F(k)反解出F(1)

因为1可以整除所有数

f(1)=sigma(F(d)*μ(d))(1<=d<=min(a,b))

这样复杂度并没有变,还是n*(min(a,b))

但是可以证明对于连续的一段k,F(k)的值是一样的

那么我们把它分成一段,不同的段最多只有2sqrt(n),也就是√n级别

同时用前缀和维护一下μ,因为是sigma,所以可以用这一段的μ的前缀和乘上这一段的F(k)

对于一个F(k),和它一样的值所对应的长度为min(a/(a/k),b/(b/k))

话说这种题考场上绝对写不出来的……Orz JZP,现在这种题可以在考场上写出来了……

数论就是蛋疼……


//Lib
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<ctime>

#include<iostream>
#include<algorithm>
#include<vector>
#include<string>
#include<queue>
#include<set>
#include<map>
using namespace std;
//Macro
#define	rep(i,a,b)	for(int i=a,tt=b;i<=tt;++i)
#define	drep(i,a,b)	for(int i=a,tt=b;i>=tt;--i)
#define	erep(i,e,x)	for(int i=x;i;i=e[i].next)
#define	irep(i,x)	for(__typedef(x.begin()) i=x.begin();i!=x.end();i++)
#define	read()	(strtol(ipos,&ipos,10))
#define	sqr(x)	((x)*(x))
#define	pb	push_back
#define	PS	system("pause");
typedef	long long	ll;
typedef	pair<int,int>	pii;
const int oo=~0U>>1;
const double inf=1e100;
const double eps=1e-6;
string name="", in=".in", out=".out";
//Var
int u[50008],n,ans;
int calc(int x)
{
	int ret=1;
	for(int i=2;i*i<=x;i++)
		if(x%i==0)
		{
			x/=i,ret*=-1;
			if(x%i==0)return 0;
		}
	if(x!=1)ret*=-1;
	return ret;
}
void Work()
{
	rep(i,1,50000)
		u[i]=u[i-1]+calc(i);
	scanf("%d",&n);int len,a,b,d;
	rep(i,1,n)
	{
		scanf("%d%d%d",&a,&b,&d);
		if(a>b)swap(a,b);
		a/=d;b/=d;ans=0;
		rep(pos,1,a)
		{
			len=min(a/(a/pos),b/(b/pos))-pos;
			ans+=(a/pos)*(b/pos)*(u[pos+len]-u[pos-1]);
			pos+=len;
		}
		cout<<ans<<endl;
	}
}
int main()
{
//	freopen((name+in).c_str(),"r",stdin);
//	freopen((name+out).c_str(),"w",stdout);
//	Init();
	Work();
	return 0;
}


Slow waitForAckedSeqno took 64873ms (threshold=30000ms). File being written 阅读详情

相关推荐

DeepL Pro免费使用技巧与API调用优化方案

机器翻译技术通过神经网络模型实现跨语言语义转换,其核心价值在于保持专业术语准确性的同时实现自然语言流畅度。现代翻译工具如DeepL采用注意力机制等深度学习技术,在医疗、法律等专业领域展现出接近人工翻译的质量。针对API调用场景,开发者可通过请求模拟实现小批量自动化处理,而文档预处理和术语库优化则能显著提升免费额度使用效率。本文重点解析如何通过字符计算优化、临时接口调用等工程实践方法,在合规前提下最大化利用免费翻译资源。

weixin_29038303的博客 265

bzoj 1101: [POI2007]Zap

Description FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x Input 第一行包含一个正整数n,表示一共有n组询问。(1 Output 对于每组询问,输出到输出文件zap.out一个正整数,表示满足条件的整数对数。 Sample Input 2 4 5 2 6 4 3 Sample

lqybzx的专栏 832

从安装到出图:一份给振动测试新手的LMS Test.Lab 2021完整避坑手册(含许可证更新和常见弹窗解决)

本文为振动测试新手提供LMS Test.Lab 2021的完整使用指南,涵盖安装配置、许可证更新、数据采集到频域后处理的全流程。特别针对常见弹窗错误提供解决方案,并详细讲解Colormap时频图分析技巧,帮助用户快速掌握振动数据分析核心技能。

weixin_29268331的博客 983

[POI2007]ZAP-Queries

题目链接:[POI2007]ZAP-Queries 式子挺简单的,因为有T组,不能O(n)去计算。于是可以预处理μ的前缀和,反演时把每段n/i的值相等的部分一起算(即分块计算) 可以通过n/(n/i)找到值相等的一段的段末位置 AC代码: #pragma GCC optimize("-Ofast","-funroll-all-loops") #include<bits/stdc++.h&...

青烟绕指柔的博客 447

langchain入门学习笔记

langchain快速入门

1731

Win11上WSL2安装Ubuntu22.04避坑指南:从镜像源到C++环境配置

本文详细介绍了在Win11系统上安装和配置WSL2及Ubuntu22.04开发环境的完整流程与避坑指南。内容涵盖从解决网络安装错误、更换国内镜像源以加速软件更新,到一站式配置C++开发工具链(包括GCC、GDB、CMake等),并提供了提升WSL2使用体验的实用技巧和故障排除方法,帮助开发者高效搭建稳定的Linux开发环境。

weixin_29306261的博客 474

Bzoj 1101: [POI2007]Zap

1101: [POI2007]Zap >原题链接< Description   FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a ,y<=b,并且gcd(x,y)=d。作为FGD的同学,FGD希望得到你的帮助。 Input   第一行包含一个正整数n,表示一共有n...

dianjia2824的博客 186

①Modbus TCP转Modbus RTU/ASCII网关同步采集无需编程高速轻松组网

MS-A1-50X1系列作为MODBUS TCP通信的服务器进行动作。可通过MODBUS TCP 通信,将 MS-A1-50X1 系列产品通过 RS485 采集的仪器仪表之类的值作为通信数 据输出到 PLC,上位机等。

2401_89571741的博客 1398

P3455 [POI2007]ZAP-Queries

P3455 [POI2007]ZAP-Queries 现在想想就是个显然题嘛,由于刚学莫比乌斯反演,不记得把\(F\)直接化简,推了几分钟式子就直接看题解了\(emmm\) \(f(d)=\sum_{i=1}^m\sum_{j=1}^m[gcd(i,j)=d]\) \(T\)次查询,给出\(n,m,d\) \(F(d)=\sum_{d|n}f(n)\) 则有: \(f(d)=\sum_{d|n}\...

weixin_30849591的博客 112

移动端实战指南:深入理解 & 接入 IAB OMSDK

OMSDK(OpenMeasurementSDK)是IABTechLab推出的标准化测量工具,用于统一移动端/原生App广告的可见性和验证流程。其核心包括Native库(采集设备数据)和OMID JavaScript层(实现通信),通过标准化接口让开发者只需接入一套SDK即可兼容多个测量厂商,减少冲突和性能损耗。v1.4版本强化了对CTV和原生App场景的支持,而v1.5新增了画中画检测等功能。集成流程需通过IAB技术实验室注册下载,并遵循严格的命名空间规则。测试阶段需嵌入验证脚本并通过指定工具验证

帅次的博客 1187

【MATLAB代码】基于水声通信(ACOMMS)下的到达时间差(TDOA)定位的AUV自主导航例程,附完整代码

水下AUV导航系统仿真研究 本研究基于到达时间差(TDOA)技术实现了水下自主航行器(AUV)的三维导航仿真系统。系统采用四个声学信标作为定位基准,通过TDOA测量数据迭代求解AUV位置。仿真结果表明: 导航性能:系统能够有效跟踪AUV从起点(30,30,-20)到目标点(70,70,-20)的航行轨迹,定位误差保持在合理范围内。 误差分析:定位误差变化曲线显示系统具有稳定的定位精度,平均误差为0.5米左右。 技术特点:采用两步最小二乘迭代算法求解非线性TDOA方程,提高了定位精度和计算效率。 该仿真系统为

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 320

BZOJ 1101: [POI2007]Zap 莫比乌斯反演

1101: [POI2007]Zap Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 2504  Solved: 1033 [Submit][Status][Discuss] Description   FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x ,y Input

BlackJack 3791

低功耗设计:如何计算power switch的数量?

power switch加多了漏电高,加少了ir drop会有问题,具体加多少合适要如何计算呢?这里可以给一个参考方式。 第一步,先选switch cell的类型 通常选用HVT类型的switch cell,优点是漏电更低,缺点也很明显,电阻大,压降也大,switch cell的大小选择,可以选择(开启电阻x面积)最小的switch cell,即单位面积提供最小并联电阻的cell类型。 第二步,计算数量 选好类型,确定了开启电阻,可以按照如下公式计算数量: Ron/Xnum • W/V = V•P

m0_61544122的博客 3576

P3455 [POI2007]ZAP-Queries(莫比乌斯反演)

题目 P3455 [POI2007]ZAP-Queries 解析 莫比乌斯反演。 给定\(n\),\(m\),\(d\),求\[\sum_{i=1}^{n}\sum_{j=1}^{m}[gcd(i,j)=d]\] 那我们设\[f(x)=\sum_{i=1}^{n}\sum_{j=1}^{m}[gcd(i,j)=x]\] 设 \[\begin{aligned} F(x)=& \su...

158

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

1101: [POI2007]Zap

1101: [POI2007]Zap Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 2172  Solved: 839 [Submit][Status][Discuss] Description   FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x ,y Input

CRZbulabula的博客 535

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

BZOJ1101: [POI2007]Zap【数论分块+莫比乌斯函数】

1101: [POI2007]Zap 原式为∑i=1A∑j=1B[(i,j)==D]\sum_{i=1}^{A} \sum_{j=1}^{B} [(i,j)==D]∑i=1A​∑j=1B​[(i,j)==D] 基本操作,除掉D ∑i=1AD∑j=1BD[(i,j)==1]\sum_{i=1}^{\frac{A}{D}} \sum_{j=1}^{\frac{B}{D}} [(i,j)==1]∑i=1...

XSamsara的博客 AFO 240

数学建模模型总结

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

BZOJ 1101: [POI2007]Zap

题目 1101: [POI2007]Zap Time Limit:10 SecMemory Limit:162 MB Description FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a,y<=b,并且gcd(x,y)=d。作为FGD的同学,FGD希望得到你的帮助。 ...

weixin_30861459的博客 136

BZOJ1101 POI2007 Zap

BZOJ1101 POI2007 ZapTime Limit: 10 Sec Memory Limit: 162 MB Description   FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a ,y<=b,并且gcd(x,y)=d。作为FGD的同学,FGD希望得到你的帮助。 Input   第一行包含一个正整数n,表示一共

苦鬼·。 272

POI2007 ZAP-Queries

POI2007 ZAP-Queries 题意 与 yy的gcd 基本一样。 解法 同上 代码如下: #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <algorithm> ...

weixin_30709061的博客 134

[POI2007]ZAP-Queries 数学

[POI2007]ZAP-Queries 数学 题目描述 Byteasar the Cryptographer works on breaking the code of BSA (Byteotian Security Agency). He has alreadyfound out that whilst deciphering a messa...

loooooog的博客 195
上一篇: [JSOI2010]Group部落划分
下一篇: [NOI2009]变换序列
OrpineX
博客等级 码龄17年 16粉丝 68原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值