【BZOJ2721】【洛谷P1145】樱花【数论,数学】

SAP S/4HANA 数据归档的实施方法 实施 SAP S/4HANA 数据归档是一个系统的过程,涉及到策略的定义、技术的执行以及后续的维护和验证。正确的归档策略不仅能优化系统性能,还能帮助企业降低运营成本,确保数据安全,并符合相关法律法规的要求。通过以上案例,我们可以看到不同行业如何依据自己的业务需求和法规要求,利用 SAP S/4HANA 的强大功能来实现数据归档的目标。这些实践证明了数据归档在现代企业信息管理中的重要地位和作用。 阅读详情

题目大意:

题目链接:

BZOJ:https://www.lydsy.com/JudgeOnline/problem.php?id=2721
洛谷:https://www.luogu.org/problemnew/show/P1445

求方程 1 x + 1 y = 1 n ! \frac{1}{x}+\frac{1}{y}=\frac{1}{n!} x1​+y1​=n!1​ 的正整数解的组数


思路:

神题啊 o r z orz orz

以下内容大部分摘自 这里

先通分
x + y x y = 1 n ! \frac{x+y}{xy}=\frac{1}{n!} xyx+y​=n!1​
交叉相乘
( x + y ) n ! = x y (x+y)n!=xy (x+y)n!=xy
移项得
− ( x + y ) n ! + x y = 0 -(x+y)n!+xy=0 −(x+y)n!+xy=0
配方
( n ! ) 2 − ( x + y ) n ! + x y = ( n ! ) 2 (n!)^2-(x+y)n!+xy=(n!)^2 (n!)2−(x+y)n!+xy=(n!)2
( x − n ! ) ( y − n ! ) = ( n ! ) 2 (x-n!)(y-n!)=(n!)^2 (x−n!)(y−n!)=(n!)2
令 a = ( x − n ! ) , b = ( y − n ! ) a=(x-n!),b=(y-n!) a=(x−n!),b=(y−n!)
a b = ( n ! ) 2 ab=(n!)^2 ab=(n!)2
由于 n ! = p 1 c 1 × p 2 c 2 × . . . × p m c m n!=p_1^{c1}\times p_2^{c2}\times ...\times p_m^{cm} n!=p1c1​×p2c2​×...×pmcm​,所以 ( n ! ) 2 = p 1 2 c 1 × p 2 2 c 2 × . . . × p m 2 c m (n!)^2=p_1^{2c1}\times p_2^{2c2}\times ...\times p_m^{2cm} (n!)2=p12c1​×p22c2​×...×pm2cm​
所以总共 a a a的取值就是 ( 2 c 1 + 1 ) ( 2 c 2 + 1 ) . . . ( 2 c m + 1 ) (2c_1+1)(2c_2+1)...(2c_m+1) (2c1​+1)(2c2​+1)...(2cm​+1)
枚举 1 ∼ n 1\sim n 1∼n,把每个数字分解质因数就可以求出答案了。


代码:

#include <cstdio>
#define rr register
using namespace std;
typedef long long ll;

const int MOD=1e9+7,N=1e6+10;
int n,prime[N],m,v[N];
ll cnt[N],ans;

void find_prime(int k)
{
	for (rr int i=2;i<=n;i++)
	{
		if (!v[i])
		{
			v[i]=i;
			prime[++m]=i;
		}
		for (rr int j=1;j<=m;j++)
		{
			if (prime[j]>v[i]||prime[j]*i>n) break;
			v[i*prime[j]]=prime[j];
		}
	}
}

int main()
{
	scanf("%d",&n);
	find_prime(n);
	for (rr int i=1;i<=n;i++)
		for(rr int j=i;j!=1;j/=v[j])
          cnt[v[j]]++;
	ans=1;
	for (rr int i=1;i<=m;i++)
		ans=(ans*(cnt[prime[i]]*2+1))%MOD;
	printf("%d",ans);
	return 0;
}
Qt入门教程【高级控件篇】QModelIndex索引 QModelIndex索引 阅读详情

相关推荐

【FPGA】AD9694调试注意事项

基于FPGA的AD9694设计及其注意事项,包括同步的设计注意事项

weixin_41246509的博客 2899

【洛谷】P1145-约瑟夫

上次出列序号out+需要移动的距离dis,对sum取模,可以获得下次出列的序号,只要保证该序号大于等于k即是坏人出列。做法为用号数m对当前总人数sum取模再减一,获得本次报数起点需要向右移动的距离(dis,当距离为-1时向左移动)与最经典的约瑟夫问题略有不同,这题要求刚好使队伍后一半人全部出列。//括号内再加一个sum是为了对移动距离为-1时取模。这里我采用的是求出出队的人在当前队伍中序号的方法。当sum削减到k时说明坏人已全部出列。m可以不用逐级递增,而是使m满足。以省去必定不满足条件的m。

weixin_60344133的博客 929

C语言实战:最小二乘法在传感器数据校准中的应用(附完整代码)

本文详细介绍了如何使用C语言实现最小二乘法,对传感器数据进行线性校准。通过模拟带噪声的传感器数据,手把手演示了从核心算法实现、参数计算到效果验证的完整流程,并提供了可直接编译运行的完整源码,帮助嵌入式开发者解决传感器数据不准的常见问题,提升系统测量精度。

weixin_28025327的博客 515

洛谷P1145 约瑟夫

题目描述 n个人站成一圈,从某个人开始数数,每次数到m的人就被杀掉,然后下一个人重新开始数,直到最后只剩一个人。现在有一圈人,k个好人站在一起,k个坏人站在一起。从第一个好人开始数数。你要确定一个最小的m,使得在第一个好人被杀死前,k个坏人先被杀死。 感谢yh大神指出样例数据的错误。 输入输出格式 输入格式: 一个k,0<k<14 输出格式: ...

weixin_30868855的博客 252

去面试游戏测试工程师,面试官看着我的简历呆住了

!我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。

MXB1220的博客 7327

Linux文件操作四剑客

① /^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年-月-日 yyyy-MM-dd / yy-MM-dd 格式。⑥“^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$” //正浮点数。

wuds_158的博客 1609

洛谷 P1145 约瑟夫

n 个人站成一圈,从某个人开始数数,每次数到 m 的人就被杀掉,然后下一个人重新开始数,直到最后只剩一个人。现在有一圈人,k 个好人站在一起,k 个坏人站在一起。从第一个好人开始数数。你要确定一个最小的 m,使得在第一个好人被杀死前,k 个坏人先被杀死。}-->如果i=k-1,那么就输出m。

2401_82743506的博客 413

UIPath 获取网页元素做遍历点击的实现

UIPath 获取网页元素做遍历点击的实现

geekqian的博客 1万+

【BZOJ2721】樱花(数论)

【BZOJ2721】樱花(数论) 题面 BZOJ 题解 先化简一下式子,得到:\(\displaystyle n!(x+y)=xy\),不难从这个式子中得到\(x,y\gt n!\)。 然后通过\(x\)来表示\(y\),得到\(\displaystyle y=\frac{n!x}{x-n!}\)。令\(x=n!+p\),得到\(\displaystyle y=\frac{n!(n!+p)}{p}...

weixin_30426879的博客 239

Notion卡顿救星:3分钟搞定DNS优化,手机电脑全平台加速指南

本文针对Notion访问慢和卡顿问题,提供了全平台DNS优化与Hosts文件修改的详细指南。通过更换优质DNS服务器或建立静态IP映射,可有效解决因网络延迟和域名解析导致的加载缓慢,实现手机与电脑端的快速加速,提升Notion使用流畅度。

v6b7n8m9q0的博客 1306

SAP 系统中的数字签名解决方案及应用案例分析

在当前企业信息化及数字化转型的大背景下,数据安全与身份认证显得尤为重要。数字签名技术作为保障数据真实性和完整性的重要手段,在 SAP 系统中得到了广泛应用。本文将详细探讨 SAP 系统中部分应用场景如何利用数字签名技术满足业务需求,涵盖 SAP Single Sign-On、质量管理、过程工业生产计划以及 SAP ArchiveLink 内容服务器等方面,力求通过深入解读,帮助读者更好地理解和应用这一关键技术。

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

【Violet 5】【BZOJ2721】樱花

Description Input Output Sample Input 3 Sample Output 9 HINT Sourceinterviewstreet–EQUATIONS我良心的在这里给泥萌加上了样例>_< SD2015省队集训Week1的测试题首先显然x>n!,y>n!,那么我们选择令y=n!+z 则显然有x=n!2z+n!x=\frac {n!^

CreationAugust is 14 years old forever 2208

【ROS机器人系统】自主导航+YOLO目标检测+语音播报

完成自主导航功能,并在小车移动至指定地点的过程中,通过机器人的摄像头检测导航途中所见物体,识别出物体的种类(框选出不同物体并标注识别结果),结合科大讯飞语音合成模块对识别结果进行语音播报。..............................

南京大学软件工程硕士在读 2万+

bzoj 2721: [Violet 5]樱花 (线性筛+质因数分解)

2721: [Violet 5]樱花 Time Limit: 5 Sec  Memory Limit: 128 MB Submit: 536  Solved: 317 [Submit][Status][Discuss] Description Input Output Sample Input Sample Output H

clover_hxy的博客 1019

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

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

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

【BZOJ 2721】 樱花

【题目链接】           点击打开链接【算法】          令n!=z,因为1 / x + 1 / y = 1 / z,所以x,y&gt;z,不妨令y = z + d          则1 / x + 1 / (z + d) = 1 / z             1 / x = 1 / z - 1 / (z + d)             1 / x = d / (z + d)...

even_bao的博客 295

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

洛谷 P1145 约瑟夫 (尚贤)

题目:https://www.luogu.com.cn/problem/P1145 嘿嘿,一看就知道可以暴力 代码: #include <iostream> #include <cstdio> #include <cstring> #define INF 0x3f3f3f3f #define BIG_INF 0x7fffffff #define min(...

广东省清远市博爱学校—尚贤的博客 469

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

精简-【题解·洛谷】P1145 约瑟夫

洛谷P1145 题解 精简版

qq_56897740的博客 737

BZOJ2721: [Violet 5]樱花(洛谷P1445)

数学 BZOJ题目传送门 洛谷题目传送门 来因式分解。 1x+1y=1n!xy−n!(x+y)=0(x−n!)(y−n!)=(n!)2 \frac1x+\frac1y=\frac1{n!}\\ xy-n!(x+y)=0\\ (x-n!)(y-n!)=(n!)^2 x1​+y1​=n!1​xy−n!(x+y)=0(x−n!)(y−n!)=(n!)2 然后算n!n!n!的因数个数就好了。 代码: #i...

forezxl的博客 472

洛谷P1145约瑟夫

n 个人站成一圈,从某个人开始数数,每次数到 m 的人就被杀掉,然后下一个人重新开始数,直到最后只剩一个人。现在有一圈人,k 个好人站在一起,k 个坏人站在一起。从第一个好人开始数数。你要确定一个最小的 m,使得在第一个好人被杀死前,k 个坏人先被杀死。

2401_82794458的博客 683

洛谷_1445 樱花(数论)

樱花 题目链接:https://www.luogu.com.cn/problem/P1445 题解: 1x+1y=1n!\frac{1}{x}+\frac{1}{y}=\frac{1}{n!}x1​+y1​=n!1​ =>x+yxy=1n!=> \frac{x+y}{xy}=\frac{1}{n!}=>xyx+y​=n!1​ =>xy=x∗n!+y∗n!=> xy = x*n!+y*n!=>xy=x∗n!+y∗n! =>y(x−n!)=x∗n!=>y(x-n!

sigh_的博客 251

【洛谷P1445】[Violet]樱花【数论】

linklinklink 分析: 话说violetvioletviolet不是紫罗兰吗(笑 推式子 1x+1y=1n!\frac{1}{x}+\frac{1}{y}=\frac{1}{n!}x1​+y1​=n!1​ 先通分 x+yxy=1n!\frac{x+y}{xy}=\frac{1}{n!}xyx+y​=n!1​ 交叉相乘 xy=n!(x+y)xy=n!(x+y)xy=n!(x+y) 移项 −n!(x+y)+xy=0-n!(x+y)+xy=0−n!(x+y)+xy=0 两边加上(n!)2(n!)^2..

绫 256

BZOJ2721: [Violet 5]樱花

BZOJ2721: [Violet 5]樱花 Description Input Output Sample Input 1439 Sample Output 102426508 HINT 题解Here! 一道恶心数论题。。。 这个分母看得很烦人,于是将方程左边通分:$$\frac{x+y}{xy}=\fra...

weixin_30244681的博客 170

BZOJ2721 Violet5樱花(数论)

  有(x+y)n!=xy。套路地提出x和y的gcd,设为d,令ad=x,bd=y。则有(a+b)n!=abd。此时d已是和a、b无关的量。由a与b互质,得a+b与ab互质,于是将a+b除过来得n!=abd/(a+b)。d/(a+b)可取的值不受a、b限制,那么只要满足ab|n!(a⊥b)就可以了。   将n!分解质因数,答案就很容易统计了。枚举质数数一下在n!中有几个即可。 #inclu...

weixin_30548917的博客 166

洛谷 1145约瑟夫

打表: #include<iostream>//头文件 using namespace std;//命名空间 int num[14]={0,2,7,5,30,169,441,1872,7632,1740,93313,459901,1358657,2504881};//打表 int n;//几个好人几个坏人 int main(){ cin>>n;//输入n c...

gem12581的博客 350
上一篇: 【JZOJ4637】大鱼海棠【博弈论】
下一篇: 【JZOJ2108】买装备【dfs】
stoorz1023
博客等级 码龄9年 101粉丝 595原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值