[POI2007]Zap

TSMC 65nm PDK衬底文件转换避坑记:从.itf到.itd,解决ADS导入乱码与金属层缺失 本文详细解析了TSMC 65nm PDK衬底文件从.itf到.itd转换过程中的常见问题及解决方案,包括ADS导入乱码与金属层缺失的修复方法。通过环境准备、文件定位、转换操作和问题诊断的完整流程,帮助工程师高效完成衬底文件转换,确保电磁仿真精度。 阅读详情

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

我觉得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;
}


苏宁易购手机行情比价系统:构建一个完整的Python爬虫实战指南 在当今数字化时代,智能手机已成为人们生活中不可或缺的一部分。随着各大手机品牌每年推出多款新品,消费者面临着越来越多的选择。然而,不同电商平台、不同时间段的价格波动使得消费者很难把握最佳购买时机。苏宁易购作为国内领先的电商平台之一,拥有丰富的手机商品信息和价格数据。本文将带领读者构建一个完整的苏宁易购手机行情比价系统,帮助消费者实时掌握手机价格动态。 阅读详情

相关推荐

stm32f103运行FreeRTOS使用DMA实现USART1不定长接收

使用DMA是实现USART1的不定长接收和发送数据。接收采用FIFO缓存和队列的方式向应用层抛数据。首先定义接收和发送的缓存区,缓存区的大小根据收发数据量确定。DMA接收开启转移完成和转移一般中断。在中断中从缓存向FIFO转移数据。串口开启空闲中断,实现接收数据的分帧。分帧后的数据节点通过写入到队列。发送数据缓存的大小根据发送数据量调整。然后初始化串口和DMA。串口的发送数据接口函数。...

polaris_zgx的博客 1991

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

基于STM32控制直流电机加减速正反转仿真设计

*单片机设计介绍,基于STM32控制直流电机加减速正反转仿真设计。

2201_75940997的博客 1603

[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

目标检测 | R-CNN、Fast R-CNN与Faster R-CNN理论讲解

目标检测:R-CNN、Fast R-CNN与Faster R-CNN理论讲解,根据B站up霹雳吧啦Wz总结。此文章包含R-CNN算法原理讲解、Fast R-CNN算法原理讲解、Faster R-CNN原理讲解、目标检测评价指标介绍与特征金字塔网络FPN讲解。

houjingchuan的博客 9566

5分钟搞定!用FunASR在本地快速部署达摩院Paraformer语音识别模型

本文提供了一份快速部署指南,教你如何在5分钟内利用FunASR工具包在本地电脑上启动达摩院Paraformer语音识别模型。Paraformer作为一款非自回归端到端模型,以其推理速度快、识别精度高的特点,结合FunASR的一键式模型加载和统一API,让开发者能轻松构建本地语音识别系统,极大降低了前沿AI技术的应用门槛。

q9w8e7r6t5的博客 605

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

精确时钟同步协议ptp/IEEE-1588v2协议-------(1)简介

ptp, 1588V2, IEEE-1588, 精确时钟同步协议

meihualing的专栏 5356

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

HAL库移植实战:解决‘HAL_StatusTypeDef‘未定义报错的3个关键步骤

本文针对STM32开发中从标准库向HAL库移植时常见的'HAL_StatusTypeDef'未定义报错,提供了三个关键解决步骤:首先确保正确包含头文件入口,其次检查并配置模块使能宏,最后注意避免与标准库的同名结构体混用。文章通过实战案例解析了HAL库的模块化设计理念,帮助开发者高效解决混合编程中的编译问题。

book8的博客 207

【微服务】Java 对接飞书多维表格使用详解

Java 对接飞书多维表格使用详解

congge_study的博客 1万+

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

面向 Cloud Foundry、ABAP On-Prem 与 ABAP Cloud 的 SAP Fiori 开发全景:工具、流程与实战案例

SAP Fiori开发实战:基于BAS的一站式工程化方法 摘要: 本文系统梳理SAP Business Application Studio(BAS)在Fiori开发中的核心能力,提供三种典型后端(Cloud Foundry/ABAP On-Prem/ABAP Cloud)的对接方案。BAS通过预置Fiori Tools套件、MTA部署工具等扩展,支持从模板创建、可视化建模到构建部署的全流程。文章包含CAP+RAP服务对接、ABAP标准应用扩展等实战案例,重点解析注解驱动开发、Adaptation Proj

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

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

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

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

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

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

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

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、付费专栏及课程。

余额充值