挺没意思的题

全都读进去算一个每个阶乘的系数

然后算一遍每个数的系数

最后在质数处算一下答案

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define rep(i,a,b) for(int i=(a),i##_end=(b);i<=i##_end;++i)
  4. #define For(i,a,b) for(int i=(a),i##_end=(b);i<i##_end;++i)
  5. #define per(i,a,b) for(int i=(b),i##_st=(a);i>=i##_st;--i)
  6. #define fi first
  7. #define se second
  8. #define pb push_back
  9. #define mp make_pair
  10. #define dbg(x) cerr<<#x" = "<<x<<endl
  11. #define debug(...) fprintf(stderr, __VA_ARGS__)
  12. #define Es(x,i) for(Edge*i=G[x];i;i=i->nxt)
  13. typedef long long ll;
  14. typedef pair<int,int> pii;
  15. const int inf=~0u>>1,MOD=1e9+7;
  16. char *TT,*mo,but[(1<<15)+2];
  17. #define getchar() ((TT==mo&&(mo=((TT=but)+fread(but,1,1<<15,stdin)),TT==mo))?-1:*TT++)
  18. inline int rd() {
  19. int x,c,f=1;while(!isdigit(c=getchar()))f=c!='-';x=c-'0';
  20. while(isdigit(c=getchar()))x=x*10+c-'0';return f?x:-x;
  21. }
  22. const int N=1e6+1;
  23. int n,P,mod;
  24. int mn[N],p[N],tot;
  25. inline void Init(){
  26. For(i,2,N){
  27. if(!mn[i])mn[i]=i,p[++tot]=i;
  28. for(int j=1,k;j<=tot&&p[j]<=mn[i]&&(k=i*p[j])<N;++j)mn[k]=p[j];
  29. }
  30. int y=mod=P;
  31. for(int i=1;p[i]*p[i]<=y;++i){
  32. if(y%p[i]==0){
  33. mod/=p[i],mod*=p[i]-1;
  34. do y/=p[i];while(y%p[i]==0);
  35. }
  36. }
  37. if(y^1)mod/=y,mod*=y-1;
  38. }
  39. int c[N],a[N],b[N];
  40. inline void mad(int&x,int y){
  41. x=(x+y>=mod?x+y-mod:x+y);
  42. }
  43. inline int pw(int n,int m){
  44. int r=1;for(;m;m>>=1,n=(ll)n*n%P)if(m&1)r=(ll)r*n%P;
  45. return r;
  46. }
  47. int main(){
  48. #ifdef flukehn
  49. freopen("test.txt","r",stdin);
  50. #endif
  51. n=rd(),P=rd();
  52. Init();
  53. rep(i,1,n)a[i]=rd();
  54. rep(i,1,n)b[i]=rd();
  55. rep(i,1,n)++c[b[i]],--c[a[i]],--c[b[i]-a[i]];
  56. per(i,2,N-2)c[i]+=c[i+1];
  57. For(i,2,N)c[i]=(c[i]%mod+mod)%mod;
  58. ll ans=1;
  59. per(i,2,N-1)if(c[i]){
  60. if(mn[i]==i)ans=ans*pw(i,c[i])%P;
  61. else mad(c[mn[i]],c[i]),mad(c[i/mn[i]],c[i]);
  62. }
  63. cout<<ans<<endl;
  64. }

LOJ 6019的更多相关文章

  1. Loj #6019. 「from CommonAnts」寻找 LCM

    给个链接:https://loj.ac/problem/6019 还是一道扩展卢卡斯+中国剩余定理....就当练练手 但是这题怎么这么卡常呢????!!!!! 在LOJ上死也过不去 (为什么要加那么多 ...

  2. [Noi2016]区间 BZOJ4653 洛谷P1712 Loj#2086

    额... 首先,看到这道题,第一想法就是二分答案+线段树... 兴高采烈的认为我一定能AC,之后发现n是500000... nlog^2=80%,亲测可过... 由于答案是求满足题意的最大长度-最小长 ...

  3. Loj #2192. 「SHOI2014」概率充电器

    Loj #2192. 「SHOI2014」概率充电器 题目描述 著名的电子产品品牌 SHOI 刚刚发布了引领世界潮流的下一代电子产品--概率充电器: 「采用全新纳米级加工技术,实现元件与导线能否通电完 ...

  4. Loj #3096. 「SNOI2019」数论

    Loj #3096. 「SNOI2019」数论 题目描述 给出正整数 \(P, Q, T\),大小为 \(n\) 的整数集 \(A\) 和大小为 \(m\) 的整数集 \(B\),请你求出: \[ \ ...

  5. Loj #3093. 「BJOI2019」光线

    Loj #3093. 「BJOI2019」光线 题目描述 当一束光打到一层玻璃上时,有一定比例的光会穿过这层玻璃,一定比例的光会被反射回去,剩下的光被玻璃吸收. 设对于任意 \(x\),有 \(x\t ...

  6. Loj #3089. 「BJOI2019」奥术神杖

    Loj #3089. 「BJOI2019」奥术神杖 题目描述 Bezorath 大陆抵抗地灾军团入侵的战争进入了僵持的阶段,世世代代生活在 Bezorath 这片大陆的精灵们开始寻找远古时代诸神遗留的 ...

  7. Loj #2542. 「PKUWC2018」随机游走

    Loj #2542. 「PKUWC2018」随机游走 题目描述 给定一棵 \(n\) 个结点的树,你从点 \(x\) 出发,每次等概率随机选择一条与所在点相邻的边走过去. 有 \(Q\) 次询问,每次 ...

  8. Loj #2331. 「清华集训 2017」某位歌姬的故事

    Loj #2331. 「清华集训 2017」某位歌姬的故事 IA 是一名会唱歌的女孩子. IOI2018 就要来了,IA 决定给参赛选手们写一首歌,以表达美好的祝愿.这首歌一共有 \(n\) 个音符, ...

  9. 【LOJ#3097】[SNOI2019]通信(费用流)

    [LOJ#3097][SNOI2019]通信(费用流) 题面 LOJ 题解 暴力就直接连\(O(n^2)\)条边. 然后分治/主席树优化连边就行了. 抄zsy代码,zsy代码是真的短 #include ...

随机推荐

  1. win-DOS命令整理

    1 md 建 文件夹2 cd 指向文件夹方向cd .. 进入上一级文件夹cd \ 回到根目录3 rd 删除文件夹4 dir 查看文件夹里的文件 dir /a 查看文件夹内全部文件含隐藏文件 5 ren ...

  2. 自编译Apache Spark2.3.3支持CDH5.16.1

    1 下载源代码文件 https://archive.apache.org/dist/spark/spark-2.3.3/ 2 解压后导入编辑器,修改依赖的Hadoop版本,下面截图是修改后的,要看自己 ...

  3. docker搭建及使用:centos7.0+docker+flask+nginx

    flask笔记: centos7安装Docker: yum install docker 启动docker服务: service docker start 构建基本镜像: sudo docker pu ...

  4. Doom HDU - 5239 (找规律+线段树)

     题目链接: D - Doom  HDU - 5239  题目大意:首先是T组测试样例,然后n个数,m次询问,然后每一次询问给你一个区间,问你这个这段区间的加上上一次的和是多少,查询完之后,这段区间里 ...

  5. Grunt 一个专为JavaScript提供的构建工具

    新手最好找个视频来看看, Grunt的配置及使用(压缩合并js/css) - 每天都记录一点点! - CSDN博客https://blog.csdn.net/playboyanta123/articl ...

  6. JAVA使用HttpClient时报错:Algorithm constraints check failed on signature algorithm: MD5withRSA

    今天使用httpClient.executeMethod时抛出异常:java.security.cert.CertPathValidatorException: Algorithm constrain ...

  7. STL--hashtable

    hashtable使用开链的方式,解决元素个数大于array容量的问题. 当两个不同元素hash得到相同的hash值时,此时我们使用bucket list来链接连个元素. hashtable迭代器必须 ...

  8. 网站robots.txt & sitemap.xml

    1. 如何查看网站的robots.txt 网址/robots.txt, 比如小米  https://www.mi.com/robots.txt sitemap.xml

  9. 014_IP专项研究监控

    一.数据demo cat /proc/net/snmp Ip: Forwarding DefaultTTL InReceives InHdrErrors InAddrErrors ForwDatagr ...

  10. Codeforces 558E A Simple Task (计数排序&&线段树优化)

    题目链接:http://codeforces.com/contest/558/problem/E E. A Simple Task time limit per test5 seconds memor ...