Bzoj2721 [Violet]樱花(筛法)】的更多相关文章

题面 题解 首先化一下式子 $$ \frac 1x+\frac 1y=\frac 1{n!} \Rightarrow \frac {x+y}{xy}=\frac 1{n!} \Rightarrow (x+y)n!=xy \\ \Rightarrow(n!-x)+(n!-y)=(n!)^2 $$ 看到最后一个式子,由于$n!$是唯一确定的,所以只要确定了$x$,$y$也是确定的,而且是唯一确定的一组$(x,y)$. 根据唯一分解定理,$n!=p_1^{k_1}p_2^{k_2}...p_m^{k_…
P1445 [Violet]樱花 显然$x,y>n$ 那么我们可以设$a=n!,y=a+t(t>0)$ 再对原式通分一下$a(a+t)+ax=x(a+t)$ $a^{2}+at+ax=ax+tx$ $x=a^{2}/t+a$ $x=(n!)^{2}/t+n!$ 再根据唯一分解定理 $(n!)^{2}=q_{1}^{p_{1}}*q_{2}^{p_{2}}*q_{3}^{p_{3}}*......*q_{m}^{p_{m}}$ 将$(n!)^{2}$分解质因数一下 最后乘法原理套上去 end.…
题目背景 我很愤怒 题目描述 求方程 $\frac{1}{x}+\frac{1}{y}=\frac{1}{N!}$ 的正整数解的组数,其中$N≤10^6$. 解的组数,应模$1e9+7$. 输入输出格式 输入格式: 输入一个整数N 输出格式: 输出答案 输入输出样例 输入样例#1: 复制 1439 输出样例#1: 复制 102426508 题解 看到原题面的我也很愤怒. 显然是道数论题,所以我们要去分析它的性质. $\frac{1}{x}+\frac{1}{y}=\frac{1}{n!}$ $\…
bzoj2721 [Violet 5]樱花 给出 \(n\) 求 \(\frac{1}{x}+\frac{1}{y}=\frac{1}{n!}\) 的正整数解数量 \(\bmod (10^9+7)\) \(n\leq10^6\) 数论 先化式子 \(\frac{1}{x}+\frac{1}{y}=\frac{1}{n!}\) \(\frac{xy}{x+y}=n!\) \(xy=n!(x+y)\) \(xy-n!x-n!y+n!^2=n!^2\) \((x-n!)(y-n!)=n!^2\) 令…
[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}=\frac{(n!)^2}{p}+n!\). 因为\(x,y\)都是整数,得到\(p|(n!)^2…
Luogu1445 [Violet]樱花 一句话题意:(本来就是一句话的) 求方程 $\frac{1}{X} + \frac{1}{Y} = \frac{1}{N!}$ 的正整数解的组数,其中$N \leq 10^6$ 题解: 差不多是第一篇公开的题解,因为以前的太烂了,不敢发...... 我们观察到提交记录发现似乎时间有从200ms+到8ms-的,然而标准题解中给出的代码就是跑的比较慢的...... 所以有没有什么快一点的呢? 假设此时你已经用朴素算法A过此题 于是我们分析算法: 楼下题解的复…
洛谷P1445 [Violet] 樱花 题目背景 我很愤怒 题目描述 求方程 1/X+1/Y=1/(N!) 的正整数解的组数,其中N≤10^6. 解的组数,应模1e9+7. 输入输出格式 输入格式: 输入一个整数N 输出格式: 输出答案 输入输出样例 输入样例#1: 1439 输出样例#1: 102426508 Solution 极其恶心的一道题... 看到这种题肯定是需要化简式子的,因为出题人不会好到给你一个好做的式子 \[\frac{1}{x}+\frac{1}{y}=\frac{1}{n!…
Luogu P1445[Violet]樱花/P4167 [Violet]樱花 真·双倍经验 化简原式: $$\frac{1}{x}+\frac{1}{y}=\frac{1}{n!}$$ $$\frac{xy}{x+y}=n!$$ $$xy=n!(x+y)$$ $$-n!(x+y)+xy=0$$ $$(n!x+n!y)-xy=0$$ $$(n!)^2+(n!x+n!y)-xy=(n!)^2$$ $$(x-n!)(y-n!)=(n!)^2$$ 所以$(x-n!)$就是$(n!)^2$的一个因子. 又…
链接P1445 [Violet]樱花 求方程 \(\frac {1}{X}+\frac {1}{Y}=\frac {1}{N!}\) 的正整数解的组数,其中\(N≤10^6\),模\(10^9+7\). 化简单一下\[x*y-n!*(x+y)=0\] 因式分解一下\[(x-n!)*(y-n!)=(n!)^2\] 设\(a=x-n!,b=y-n!\),那么\(a*b=(n!)^2\) 也就是\(a,b\)对应了唯一一组\(x,y\),所以问题转化成了:求方程 \(a*b=(n!)^2\) 的正整数…
http://www.cnblogs.com/rausen/p/4138233.html #include<cstdio> #include<iostream> using namespace std; #define MOD 1000000007 int n; bool Not[1000001]; int pr[1000001],e,ci[1000001]; void shai() { Not[1]=1; for(int i=2;i<=1000;++i) if(!Not[i…
先令n! = a: 1 / x + 1 / y = 1 / a  =>  x = y * a / (y - a) 再令 k = y - a: 于是x = a + a ^ 2 / k  =>  k | a ^ 2 故等价于求a ^2的约数个数 素数筛一下什么的就好了嘛 /************************************************************** Problem: 2721 User: rausen Language: C++ Result: Ac…
BZOJ原题链接 洛谷原题链接 其实推导很简单,只不过我太菜了想不到...又双叒叕去看题解 简单写下推导过程. 原方程:\[\dfrac{1}{x} + \dfrac{1}{y} = \dfrac{1}{n!}\] 通分:\[\dfrac{x + y}{xy} = \dfrac{1}{n!}\] 十字相乘:\[(x + y) \times n! = xy\] 把\((x + y) \times n!\)移到右项:\[xy - (x + y) \times n! = 0\] 两边同时加上\((n!…
传送门 推一波式子: 1x+1y=1n!\frac 1 x+\frac 1 y=\frac 1 {n!}x1​+y1​=n!1​ =>xy−x∗n!−y∗n!xy-x*n!-y*n!xy−x∗n!−y∗n! = 000 =>(x−n!)(y−n!)=(n!)2(x-n!)(y-n!)=(n!)^2(x−n!)(y−n!)=(n!)2 于是把(n!)2(n!)^2(n!)2质因数分解就行了. 代码: #include<bits/stdc++.h> using namespace st…
2721: [Violet 5]樱花 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 499  Solved: 293[Submit][Status][Discuss] Description Input Output Sample Input  3 Sample Output  9 HINT Source interviewstreet--EQUATIONS Solution 巧妙! $\frac{1}{x}+\frac{1}{y}=\frac{1…
有(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!中有几个即可. #include<iostream> #include<cstdio> #include<cmath>…
题面 题解 $$ \frac 1x + \frac 1y = \frac 1{n!} \\ \frac{x+y}{xy}=\frac 1{n!} \\ xy=n!(x+y) \\ xy-n!(x+y)=0 \\ (x-n!)(y-n!)=(n!)^2 \\ $$ 因为确定$(x-n!),(y-n!)$就能确定$x,y$,所以答案就是$d((n!)^2)$ 代码 #include<cstdio> #include<cstring> #include<cctype> #in…
题目链接 洛谷 狗粮版 前置技能 初中基础的因式分解 线性筛 \(O(nlog)\)的分解质因数 唯一分解定理 题解 首先来分解一下式子 \[\frac{1}{x}+\frac{1}{y}=\frac{1}{n!}\] 通分可化为: \[\frac{x+y}{xy}=\frac{1}{n!}\] 两边同时乘\(xy*(n!)\) \[(x+y)n!=xy\] 移项得: \[xy-(x+y)n!=0\] 两边同时加上\((n!)^2\) \[xy-(x+y)n!+(n!)^2=(n!)^2\] 通…
就是化柿子 我们求 \[\frac{1}{x}+\frac{1}{y}=\frac{1}{n!}\] 的正整数解的个数 喜闻乐见的化柿子了 \[\frac{x+y}{xy}=\frac{1}{n!}\] \[xy=xn!+yn!\] \[xy-xn!=yn!\] \[x=\frac{yn!}{y-n!}\] 所以这里的\(y\)显然是要大于\(n!\)的 设\(y=n!+c\) 那么 \[x=\frac{n!(n!+c)}{n!+c-n!}=\frac{n!(n!+c)}{c}=\frac{(n…
洛谷P1445:https://www.luogu.org/problemnew/show/P1445 推导过程 1/x+1/y=1/n! 设y=n!+k(k∈N∗) 1/x​+1/(n!+k)​=1/n!​ 等式两边同乘x*n!*(n!+k)得 n!(n!+k)+xn!=x(n!+k) 移项得 n!(n!+k)=x(n!+k)−xn!=xk x=n!(n!+k)​/k=(n!)2​/k+n! 因为x为正整数 所以(n!)2​/k+n!为正整数0. 因为n!为正整数 所以只要(n!)2​/k为正…
做了题还是忍不住要写一发题解,感觉楼下的不易懂啊. 本题解使用latex纯手写精心打造. 题意:求\(\frac{1}{x}+\frac{1}{y}=\frac{1}{n!}\)的正整数解总数. 首先,不会线筛素数的先去做下LuoguP3383. 开始推导. \[\frac{1}{x}+\frac{1}{y}=\frac{1}{n!}\] 那么\(\frac{1}{x}\)和\(\frac{1}{y}\)肯定是小于\(\frac{1}{n!}\)的.所以\(x\)和\(y\)肯定都是大于\(n!…
传送门 看到题目就要开始愉快地推式子 原式 $\frac{1}{x}+\frac{1}{y}=\frac{1}{n!}$ $\rightarrow \frac{x+y}{xy}=\frac{1}{n!} \rightarrow (x+y)n!=xy \rightarrow xy-(x+y)n!=0$ 两边同时加上 $(n!)^2$ 得 $xy-(x+y)n!+(n!)^2=(n!)^2\rightarrow (x-n!)(y-n!)=(n!)^2$ 设$a=(x-n!),b=(y-n!)$,则原…
#include<cstdio> #include<algorithm> #include<cstring> #include<vector> using namespace std; #define fi first #define se second #define mp make_pair #define pb push_back typedef long long ll; typedef unsigned long long ull; typedef…
题目大意 求方程$$\frac{1}{x}+\frac{1}{y}=\frac{1}{N!}$$的正整数解的组数. 思路 咱们把式子整理得$$xy-(x+y)N!=0$$.$xy$和$x+y$?貌似可以因式分解?!于是$$N!^2 - (x + y)N! + xy = N!^2$$,即$$(x-N!)(y-N!)=N!^2$$.令$A=x-N!,B=y-N!$,则原式变为$$A*B=(N!)^2$$.因此,解的个数便是$N!^2$的因子的个数.根据唯一分解定理,任意的正整数都可分解为$\prod…
题面 又懒得弄题面,开个传送门吧 分析 人生第一次切数学题,我们先把方程写出来 $$\frac {1}{x}+\frac {1}{y}=\frac {1}{n!}$$ 现在我们知道的条件是x,y都是正整数(废话  所以我们考虑单独通过式子的变换将x,y表示出来,表示出来的式子算出来也一定是个整数 $$\frac {1}{x}+\frac {1}{y}=\frac {1}{n!}$$ $$\frac {1}{x}=\frac {1}{n!}-\frac{1}{y}$$ $$\frac {1}{x}…
首先是我的酱油记了啦~: Xs的NOIP2014酱油记,持续更新中 知识点方面: noip知识点总结之--贪心 noip知识点总结之--线性筛法及其拓展 noip知识点总结之--欧几里得算法和扩展欧几里得算法 (有待补完...) 然后是各种题目及无爱的模拟赛: 首先是丧心病狂的Poetize系列noip模拟赛 (屯题中...以后补上) BZOJ3057Poetize11圣主的考验 BZOJ3058Poetize11 四叶草魔杖 然后是同样丧心病狂的的Violet系列模拟赛 可惜有部分已经找不到了…
一.先是一些整除的性质: •整除:若a=bk,其中a,b,k都是整数,则b整除a,记做b|a. •也称b是a的约数(因数),a是b的倍数 •显而易见的性质: •1整除任何数,任何数都整除0 •若a|b,a|c,则a|b+c, a|b-c •若a|b,则对任意整数c,a|bc •传递性:若a|b,b|c,则a|c 例1: •例题:[CF 762A]k-th divisor •求n的第k小的约数.如果不存在输出-1 •1 ≤ n ≤ 10^15, 1 ≤ k ≤ 10^9 分析:这道题显然不能用O(…
[BZOJ2721][Violet 5]樱花 Description Input Output Sample Input 2 Sample Output 3 HINT 题解:,所以就是求(n!)2的约数个数 又有一个结论,若n=Πpi^ei,那么n的约数个数就是Π(ei+1),所以我们只需要筛出1-n 的所有素数,再分别计算每个素数的贡献就行了. #include <cstdio> #include <cstring> #include <iostream> #defi…
题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=2721 好久没做数学题了,感觉有些思想僵化,走火入魔了. 这道题就是求方程$ \frac{1}{x}+\frac{1}{y}=\frac{1}{n!} $的正整数解个数. 首先我们可以把方程化为$ (x+y)n!=xy $...然后就发现搞不出什么了. 但是我们可以考虑换元,因为显然$ x,y>n $,所以我们设$ y=n!+k $,然后我们就可以把方程化为$ (x+n!+k)n!=x…
题目描述 输入 输出 样例输入 2 样例输出 3 题解 数论 设1/x+1/y=1/m,那么xm+ym=xy,所以xy-xm-ym+m^2=m^2,所以(x-m)(y-m)=m^2. 所以解的数量就是m^2的约数个数. 所以只需要算出n!中每个素数的出现次数即可. 我们可以先快筛出1~n的素数,然后考虑每个素数出现的次数. 而p出现的次数为包含p^1的数的个数+包含p^2的数的个数+...+包含p^k的数的个数,我们可以迭代来求. 最后把它们乘2加1再乘到一起即可. #include <cstd…
BZOJ_2721_[Violet 5]樱花_数学 Description Input Output $\frac{1}{x}+\frac{1}{y}=\frac{1}{m}$ $xm+ym=xy$ $(x-m)*(y-m)=m^{2}$ 于是转化为了求$n!$的约数个数 可以用每个质因子搞一下 代码: #include <stdio.h> #include <string.h> #include <algorithm> #include <stdlib.h>…