博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【HDOJ 5407】 CRB and Candies (大犇推导
阅读量:6368 次
发布时间:2019-06-23

本文共 1680 字,大约阅读时间需要 5 分钟。

赛后看这题题解仅仅有满眼的迷茫………………

g(N) = LCM(C(N,0),C(N,1),...,C(N,N))

 f(n)\ =\ LCM(1, 2, ..., n)f(n) = LCM(1,2,...,n), the fact g(n)\ =\ f(n+1) / (n+1)g(n) = f(n+1)/(n+1)

f(n)\ =\ LCM(1, 2, ..., n)f(1) = 1

If n\ =p^{k}n =pk then f(n)\ =\ f(n-1) \times \ pf(n) = f(n1)× p, else f(n)\ =\ f(n-1)f(n) = f(n1).

和不断的woc…… 后来QAQ巨找到了推导的文章。

。。

恩……贴上来……

感觉我有公式恐惧症。。

看到长串公式就犯晕= = 巨巨们研究研究吧…………

感觉依据题解能做出来已经非常好了

事实上这题另一点是要取余 因为须要取余 不能做除法 因此要求个分母的乘法逆元 刚好在攻数论的扩欧,扩欧小费马都能做 前一篇有扩欧的不错的帖子链接 有兴趣的能够去瞅瞅

本题代码例如以下:

#include 
#include
#include
using namespace std;#define sz 1000000#define ll long longconst int mod = 1e9+7;int p[sz+1];ll f[sz+1];bool ok(ll x){ int t = p[x]; while(x%t == 0 && x > 1) x /= t; return x == 1;}void Init(){ int i,j; for(i = 1; i <= sz; ++i) p[i] = i; for(i = 2; i <= sz; ++i) if(p[i] == i) for(j = i+i; j <= sz; j += i) if(p[j] == j) p[j] = i; f[0] = 1; for(i = 1; i <= sz; ++i) { if(ok(i)) f[i] = f[i-1]*p[i]%mod; else f[i] = f[i-1]; }}//扩欧//int e_gcd(int a,int b,int &x,int &y)//{// if(!b)// {// x = 1;// y = 0;// return a;// }// ll tmp = x,ans = e_gcd(b,a%b,x,y);// tmp = x;// x = y;// y = tmp - a/b*y;// return ans;//}ll pow(ll a,int m){ ll ans = 1; for(;m; m >>= 1, a= a*a%mod) if(m&1) ans = ans*a%mod; return ans;}ll cal(int a,int m){//扩欧// int x,y;// int gcd = e_gcd(a,m,x,y);// return (x/gcd+m)%m;//小费马 return pow(a,m-2);}int main(){ Init(); int t,n; scanf("%d",&t); while(t--) { scanf("%d",&n); printf("%lld\n",f[n+1]*cal(n+1,mod)%mod); } return 0;}

转载地址:http://owrma.baihongyu.com/

你可能感兴趣的文章
Lesson10 vSphere 管理特性
查看>>
memcache 扩展和 memcached扩展安装
查看>>
好程序员的查克拉---自信
查看>>
线程池的设计(二):领导者追随者线程池的设计
查看>>
获取设备列表
查看>>
Django使用网上模板做个能展示的博客
查看>>
基于同IP不同端口,同端口不同Ip的虚拟主机 基于FQDN的虚拟主机
查看>>
项目软件集成三方模块,编译中int32和uint32定义冲突解决方法
查看>>
StretchDIBits速度测试(HALFTONE)
查看>>
在.NET Workflo“.NET研究”w 3.5中使用多线程提高工作流性能
查看>>
验证Oracle处理速度
查看>>
自己写一个jquery
查看>>
艾伟:C#中抽象类和接口的区别
查看>>
Flink - NetworkEnvironment
查看>>
BZOJ4374 : Little Elephant and Boxes
查看>>
【.Net Framework 体积大?】不安装.net framework 也能运行!?开篇叙述-1
查看>>
LLDP协议、STP协议 笔记
查看>>
如何使用 GroupBy 计数-Count()
查看>>
jquery之clone()方法详解
查看>>
Delphi 用文件流读取文本文件字符串的方法
查看>>