HDU5407 CRB and Candies 【LCM递推】
HDU5407 CRB and Candies
题意:
计算\(LCM(C(n,0),C(n,1),C(n,2),\cdots,C(n,n-1),C(n,n))\)
\(n\le 10^6\)
题解:
规律:
\(LCM(C(n,0),C(n,1),C(n,2),\cdots,C(n,n-1),C(n,n)) = \frac{LCM(1,2,3,\cdots,,n-1,n,n+1)}{n+1}\)
令\(g(n)=LCM(C(n,0),C(n,1),C(n,2),\cdots,C(n,n-1),C(n,n))\)
\(f(n)=LCM(1,2,3,\cdots,,n-1,n)\)
则\(g(n)=\frac{f(n+1)}{n+1}\)
所以问题转化为求解\(f(n)\)
我们只需要知道每一个质数的最高次项是多少即可
如果\(n=p^k\),且我们已经知道了\(f(n-1)\)那么,到\(n\)的时候\(p\)的最高次项必然比之前大了\(1\),所以\(f(n)=f(n-1)*p\),否则\(f(n)=f(n-1)\)
\(f(n)\)可以递推得到
\]
然后就可以计算\(g(n)\)了
//#pragma GCC optimize("O3")
//#pragma comment(linker, "/STACK:1024000000,1024000000")
#include<bits/stdc++.h>
using namespace std;
function<void(void)> ____ = [](){ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);};
typedef long long int LL;
const int MAXN = 1e6+7;
const int MOD = 1e9+7;
LL f[MAXN],inv[MAXN],p[MAXN];
bool npm[MAXN];
vector<LL> prime;
void preprocess(){
    for(int i = 2; i < MAXN; i++){
        if(!npm[i]) prime.push_back(i);
        for(int j = 0; j < (int)prime.size(); j++){
            if(i*prime[j]>=MAXN) break;
            npm[i*prime[j]] = true;
            if(i%prime[j]==0) break;
        }
    }
    fill(begin(p),end(p),1);
    inv[1] = 1;
    for(int i = 2; i < MAXN; i++) inv[i] = (MOD-MOD/i) * inv[MOD%i] % MOD;
    for(LL pm : prime) for(LL x = pm; x < MAXN; x *= pm) p[x] = pm;
    f[1] = 1;
    for(int i = 2; i < MAXN; i++) f[i] = f[i-1] * p[i] % MOD;
}
int main(){
    preprocess();
    int T;
    for(scanf("%d",&T); T; T--){
        int n; scanf("%d",&n);
        printf("%I64d\n",f[n+1]*inv[n+1]%MOD);
    }
    return 0;
}
												
											HDU5407 CRB and Candies 【LCM递推】的更多相关文章
- CRB and Candies LCM 性质
		
题目 CRB and Candies 题意 \[ \text{给定正整数N,求} LCM \lbrace C \left(N , 0 \right),C\left(N , 1 \right),..., ...
 - ACM学习历程—HDU5407 CRB and Candies(数论)
		
Problem Description CRB has N different candies. He is going to eat K candies.He wonders how many co ...
 - HDU 5407 CRB and Candies(LCM +最大素因子求逆元)
		
[题目链接]pid=5407">click here~~ [题目大意]求LCM(Cn0,Cn1,Cn2....Cnn)%MOD 的值 [思路]来图更直观: 这个究竟是怎样推出的.说实话 ...
 - HDU5407.CRB and Candies(数论)
		
官方题解: The problem is just to calculate g(N) = LCM(C(N,0),C(N,1),...,C(N,N)) Introducing function f(n ...
 - BNU 12846 LCM Extreme 最小公倍数之和(线性欧拉筛选+递推)
		
LCM Extreme Time Limit: 3000ms Memory Limit: 131072KB This problem will be judged on UVALive. Orig ...
 - HDU 5407  CRB and Candies
		
题意:给一个正整数k,求lcm((k, 0), (k, 1), ..., (k, k)) 解法:在oeis上查了这个序列,得知答案即为lcm(1, 2, ..., k + 1) / (k + 1),而 ...
 - HDU-4651 Partition 整数拆分,递推
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4651 题意:求n的整数拆为Σ i 的个数. 一般的递归做法,或者生成函数做法肯定会超时的... 然后要 ...
 - luogu 1291 概率期望递推
		
非常好的递推 公式啥的懒得写了,直接放链接哈哈哈https://www.luogu.org/problemnew/solution/P1291 #include<bits/stdc++.h> ...
 - hdu5965扫雷 枚举+递推
		
题目链接 思路:枚举第一列的可能种数,然后递推即可,中途判断是否满足条件,最后再判断最后一列是否满足条件即可. #include<bits/stdc++.h> #define LL lon ...
 
随机推荐
- 【Redis3.0.x】发布订阅
			
Redis3.0.x 发布订阅 基本命令 SUBSCRIBE channel [channel...] 订阅给定的一个或多个频道 PSUBSCRIBE pattern [pattern...] 订阅符 ...
 - 前端面试:Http协议与浏览器
			
Http与Https的区别 Http是明文传输的,Https协议是在Http协议上添加了SSL的加密协议,可以进行加密传输和身份验证. 其实就是说Http对网络传输完全是裸奔状态,也就没办法防范中间人 ...
 - MySQL where 条件字句查询
			
where 条件字句 搜索条件可由一个或多个逻辑表达式组成 , 结果一般为布尔值 逻辑运算符 运算符 语法 描述 and && a and b a && b 逻辑与 两 ...
 - rac双节点+物理DG
			
注:以下文章均是看了黄伟老师的视频,记录为博客供以后使用. 双节点RAC搭建: http://blog.csdn.net/imliuqun123/article/details/76171289 RA ...
 - LeetCode993. 二叉树的堂兄弟节点
			
题目 1 class Solution { 2 public: 3 TreeNode* r1;TreeNode* r2; 4 bool isCousins(TreeNode* root, int x, ...
 - LeetCode404.左叶子之和
			
题目 法一.广度优先搜索 1 class Solution { 2 public: 3 int sumOfLeftLeaves(TreeNode* root) { 4 if(root == NULL) ...
 - 基于kubernetes实现coredns的及验证
			
CoreDNS: k8s内部的DNS ,用于对pod对service做记录的,好让其他的pod做访问 这里不用做过多的阐述 官方kube-dns现在已经没有在维护了,从Kubernetes 1.11 ...
 - kubectl工具管理应用
			
kubectl工具管理应用 创建一个pod [root@k8s-master ~]# kubectl run nginx --replicas=3 --labels="app=nginx-e ...
 - vxfs(Veritas File System)扩充目录大小
			
1.新增加一个磁盘并初始化 # vxdisk list # vxdisksetup -i 3pardata0_22 2.将新增加的磁盘合并到磁盘组中 # vxdg -g testdg01 adddis ...
 - centos7搭建dolphinscheduler集群
			
一.简述 Apache DolphinScheduler是一个分布式去中心化,易扩展的可视化DAG工作流任务调度系统.致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用.有 ...