CRB and Candies

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 947    Accepted Submission(s): 442

Problem Description
CRB has N different candies. He is going to eat K candies.
He wonders how many combinations he can select.
Can you answer his question for all K(0 ≤ K ≤ N)?
CRB is too hungry to check all of your answers one by one, so he only asks least common multiple(LCM) of all answers.
 
Input
There are multiple test cases. The first line of input contains an integer T, indicating the number of test cases. For each test case there is one line containing a single integer N.
1 ≤ T ≤ 300
1 ≤ N ≤ 106
 
Output
For each test case, output a single integer – LCM modulo 1000000007(109+7).
 
Sample Input
5
1
2
3
4
5
 
Sample Output
1
2
3
12
10
 
Author
KUT(DPRK)
 
这个题我是知道(n+1)*LCM(C(n,0),C(n,1)..C(n,n)) = LCM(1,2,3..n) 这个公式的,但是用错了方法求(1-n)的LCM。。(也就是经常用的那个lcm(a,b) = a/gcd(a,b)*b)但是这个公式里面是不允许取模的。。所以一直弄不出来。。然后在网上看到了很牛逼的公式。。数论真是很神奇啊。
aaarticlea/png;base64,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" alt="" />
我感觉这种题没接触过神牛也不一定能够解出来吧。。
还有一个人的题解提供了一种方法,不过没看懂,但是他提供了一种求解最小公倍数的方法。
---------------------------------------------------------------------------------------------------------------------------------------------------------------
分解质因数法:

先把这几个数分解质因数,再把它们一切公有的质因数和其中几个数公有的质因数以及每个数的独有的质因数全部连乘起来,所得的积就是它们的最小公倍数。

例如,求LCM[12,18,20,60]

因为12=(2)×[2]×[3],18=(2)×[3]×3,20=(2)×[2]×{5},60=(2)×[2]×[3]×{5}

其中四个数的公有的质因数为2(小括号中的数),

三个数的公有的质因数为2与3[中括号中的数],

两个数的公有的质因数为5{大括号中的数},

每个数独有的质因数为3。

所以,[12,18,20,60]=2×2×3×3×5=180。

#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <string.h>
using namespace std;
typedef long long LL;
const int N = ;
const LL mod = ;
LL f[N];
LL gcd(LL a,LL b){
return b==?a:gcd(b,a%b);
} LL extend_gcd(LL a,LL b,LL &x,LL &y){
if(!b){
x=,y = ;
return a;
}else{
LL x1,y1;
LL d = extend_gcd(b,a%b,x1,y1);
x = y1;
y = x1 - a/b*y1;
return d;
}
}
LL mod_reverse(LL a,LL n)
{
LL x,y;
LL d=extend_gcd(a,n,x,y);
if(d==) return (x%n+n)%n;
else return -;
}
int prime[N];
LL F[N];
bool only_divide(int n){
int t = prime[n];
while(n%t==){
n/=t;
}
if(n==) return true;
return false;
}
void init(){
for(int i=;i<N;i++){
prime[i] = i;
}
for(int i=;i<N;i++){ ///十分巧妙的一步,判断某个数是否只有唯一的质因子,只需要把每个数的倍数存下来
if(prime[i]==i){
for(int j=i+i;j<N;j+=i){
prime[j] = i;
}
}
}
F[] = ;
for(int i=;i<N;i++){
if(only_divide(i)){
F[i] = F[i-]*prime[i]%mod;
}else F[i] = F[i-];
}
}
int main()
{
init();
int tcase;
scanf("%d",&tcase);
while(tcase--)
{
int n;
scanf("%d",&n);
LL inv = mod_reverse((n+),mod);
printf("%lld\n",F[n+]*inv%mod);
}
return ;
}

hdu 5407(LCM好题+逆元)的更多相关文章

  1. HDU 5407(2015多校10)-CRB and Candies(组合数最小公倍数+乘法逆元)

    题目地址:pid=5407">HDU 5407 题意:CRB有n颗不同的糖果,如今他要吃掉k颗(0<=k<=n),问k取0~n的方案数的最小公倍数是多少. 思路:首先做这道 ...

  2. Hdu 5407 CRB and Candies (找规律)

    题目链接: Hdu 5407 CRB and Candies 题目描述: 给出一个数n,求lcm(C(n,0),C[n,1],C[n-2]......C[n][n-2],C[n][n-1],C[n][ ...

  3. HDU 5407 CRB and Candies(LCM +最大素因子求逆元)

    [题目链接]pid=5407">click here~~ [题目大意]求LCM(Cn0,Cn1,Cn2....Cnn)%MOD 的值 [思路]来图更直观: 这个究竟是怎样推出的.说实话 ...

  4. hdu 5407【LCM性质】+【逆元】(结论题)

    <题目链接> <转载于 >>> > Problem Description CRB has N different candies. He is going ...

  5. LCM性质 + 组合数 - HDU 5407 CRB and Candies

    CRB and Candies Problem's Link Mean: 给定一个数n,求LCM(C(n,0),C(n,1),C(n,2)...C(n,n))的值,(n<=1e6). analy ...

  6. HDU 5407——CRB and Candies——————【逆元+是素数次方的数+公式】

    CRB and Candies Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)T ...

  7. hdu 5407 CRB and Candies(组合数+最小公倍数+素数表+逆元)2015 Multi-University Training Contest 10

    题意: 输入n,求c(n,0)到c(n,n)的所有组合数的最小公倍数. 输入: 首行输入整数t,表示共有t组测试样例. 每组测试样例包含一个正整数n(1<=n<=1e6). 输出: 输出结 ...

  8. hdu 5407

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5407 题意:给定一个数n,求LCM(C(n,0),C(n,1),C(n,2)...,C(n,n)) 根 ...

  9. Harvest of Apples (HDU多校第四场 B) (HDU 6333 ) 莫队 + 组合数 + 逆元

    题意大致是有n个苹果,问你最多拿走m个苹果有多少种拿法.题目非常简单,就是求C(n,0)+...+C(n,m)的组合数的和,但是询问足足有1e5个,然后n,m都是1e5的范围,直接暴力的话肯定时间炸到 ...

随机推荐

  1. 洛谷 P2303 [SDOi2012]Longge的问题 解题报告

    P2303 [SDOi2012]Longge的问题 题目背景 SDOi2012 题目描述 Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题.现在问题来了:给定一个整数\(N\),你需要 ...

  2. Spring Boot整合MyBatis(使用Spring Tool Suite工具)

    1. 创建Spring Boot项目 通过Spring Tool Suite的Spring Starter Project对话框,其实是把项目生成的工作委托http://start.spring.io ...

  3. 《剑指offer》— JavaScript(34)第一个只出现一次的字符

    第一个只出现一次的字符 题目描述 在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符,并返回它的位置. *** 思路 新建一个对象,其中key用 ...

  4. 详解掩膜mask

    什么是掩膜(mask) 数字图像处理中的掩膜的概念是借鉴于PCB制版的过程,在半导体制造中,许多芯片工艺步骤采用光刻技术,用于这些步骤的图形“底片”称为掩膜(也称作“掩模”),其作用是:在硅片上选定的 ...

  5. np.random.rand均匀分布随机数和np.random.randn正态分布随机数函数使用方法

    np.random.rand用法 觉得有用的话,欢迎一起讨论相互学习~Follow Me 生成特定形状下[0,1)下的均匀分布随机数 np.random.rand(a1,a2,a3...)生成形状为( ...

  6. CM记录-配置Hive on Spark

    默认hive on spark是禁用的,需要在Cloudera Manager中启用.1.登录CM界面,打开hive服务.2.单击 配置标签,查找enable hive on spark属性.3.勾选 ...

  7. LCA 算法(二)倍增

     介绍一种解决最近公共祖先的在线算法,倍增,它是建立在任意整数的二进制拆分之上.   代码:   //LCA:Doubly #include<cstdio> #define swap(a, ...

  8. HDU 1262 寻找素数对 模拟题

    题目描述:输入一个偶数,判断这个偶数可以由哪两个差值最小的素数相加,输出这两个素数. 题目分析:模拟题,注意的是为了提高效率,在逐个进行判断时,只要从2判断到n/2就可以了,并且最好用打表法判断素数. ...

  9. MD5小彩虹表

    为方便日常查询,需要一个MD5小彩虹表,当然网上有比较多的这样的查询站点,但感觉最近使用起来十分不便. 因此,编写一个小程序,用来查询一些经常出现的MD5,也即弱口令MD5查询.采用python3编写 ...

  10. PHP5.6 和PHP7.0区别

    1. PHP7.0 比PHP5.6性能提升了两倍. 2.PHP7.0全面一致支持64位. 3.PHP7.0之前出现的致命错误,都改成了抛出异常. 4.增加了空结合操作符(??).效果相当于三元运算符. ...