国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

bzoj2186: [Sdoi2008]沙拉公主的困惑

2019-11-06 06:10:18
字體:
來源:轉載
供稿:網友

傳送門 題目要求求出phi(m!)*(n!/m!) 注意到phi(m!)=m!*(p-1)/p(p是m!的質因子),模數固定。 所以答案就是n!*(p-1)/p(p是m!的質因子) n!可以在線性時間內求出,(p-1)/p(p是m!的質因子)也可以用線性篩求出。 本題略卡時限。 注意:1.10000000以內質數僅有不到500000個,我們可以用遞歸求逆元加速運算。 2.采用某些松松松的技巧可以避免超時。

#include<iostream>#include<cstdio>#define ll long long#define M 10000000using namespace std;int f[M+5];ll n,mo,x,y,p[M+5],q[M+5];int u,v;int read(){ int k=0; char ch=getchar(); for (;ch<'0'||ch>'9';ch=getchar()); for (;ch>='0'&&ch<='9';ch=getchar()) k=k*10+ch-48; return k;}ll inv(int x){ return (p[x])?p[x]:p[x]=(mo-mo/x)*inv(mo%x)%mo;}int main(){ n=read(); mo=read(); f[1]=p[1]=q[1]=p[0]=1; for (int i=2;i*i<=M;++i) if (!f[i]) for (int j=i*i;j<=M;j+=i) f[j]=1; for (ll i=2;i<=M;++i) q[i]=(f[i])?q[i-1]:q[i-1]*(i-1)%mo*inv(i%mo)%mo; p[1]=1; for (ll i=2;i<=M;++i) p[i]=p[i-1]*i%mo; while (n--){ x=read(); y=read();
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东丰县| 星子县| 阳原县| 黔江区| 诸暨市| 昂仁县| 青浦区| 康马县| 闵行区| 无棣县| 蒲城县| 白沙| 耿马| 保山市| 连州市| 固始县| 临泉县| 翁牛特旗| 育儿| 商城县| 蒙城县| 达州市| 西平县| 三台县| 和政县| 娱乐| 锡林浩特市| 吉安市| 临高县| 通江县| 遂昌县| 浑源县| 论坛| 陆丰市| 白河县| 深州市| 寿光市| 思南县| 武冈市| 贺州市| 蓝山县|