博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ 3434 时空穿梭
阅读量:5950 次
发布时间:2019-06-19

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

题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3434

题意:

思路:

const int mod=10007;const int N=100005;   int g[22][N];int C[N][22],mou[N];int h[22][N][13];    int prime[N],cnt;int tag[N]; void init(){    int i,j;     mou[1]=1;    for(i=2;i
=N) break; tag[i*prime[j]]=1; if(i%prime[j]==0) { mou[i*prime[j]]=0; break; } else mou[i*prime[j]]=-mou[i]; } } C[0][0]=1; for(i=1;i
=mod) C[i][j]-=mod; } } int c; for(c=2;c<=20;c++) { for(i=1;i
=mod) g[c][j]-=mod; if(g[c][j]<0) g[c][j]+=mod; } } for(c=2;c<=20;c++) { for(i=1;i
=mod) x%=mod; for(j=0;j<=11;j++) { h[c][i][j]=pre*g[c][i]%mod; h[c][i][j]+=h[c][i-1][j]; if(h[c][i][j]>=mod) h[c][i][j]-=mod; pre=pre*x%mod; } } }} int n,cc,M[13]; struct node{ int a[15]; int Max; void clear() { clr(a,0); Max=0; } void mul(int x1,int x0) { int i; int b[15]; for(i=0;i<=Max;i++) b[i]=a[i]*x0%mod; b[Max+1]=0; for(i=0;i<=Max;i++) { b[i+1]=b[i+1]+a[i]*x1%mod; if(b[i+1]>=mod) b[i+1]-=mod; } for(i=0;i<=n;i++) a[i]=b[i]; Max++; } }A; int cal(int d1,int d2){ A.clear(); A.a[0]=1; int i; for(i=1;i<=n;i++) { i64 tmp=M[i]/d1; int aa=-(i64)(tmp+1)*tmp/2%mod; int bb=M[i]%mod*tmp%mod; A.mul(aa,bb); } int ans=0; for(i=n;i>=0;i--) { ans+=A.a[i]*(h[cc][d2][i]-h[cc][d1-1][i])%mod; if(ans<0) ans+=mod; if(ans>=mod) ans-=mod; } return ans;} int main(){ init(); int T=getInt(); while(T--) { n=getInt(); cc=getInt(); int i; for(i=1;i<=n;i++) M[i]=getInt(); sort(M+1,M+n+1); int ans=0; for(i=1;i<=M[1];) { int L=i; int R=M[1]; int j; for(j=1;j<=n;j++) { R=min(R,M[j]/(M[j]/i)); } ans+=cal(L,R); if(ans>=mod) ans-=mod; if(ans<0) ans+=mod; i=R+1; } printf("%d\n",ans); }}

 

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

你可能感兴趣的文章
HDU-4366 Successor 线段树+预处理
查看>>
做程序开发的你如果经常用Redis,这些问题肯定会遇到
查看>>
CAS-认证流程
查看>>
006android初级篇之jni数据类型映射
查看>>
Java 集合框架查阅技巧
查看>>
apache配置虚拟主机
查看>>
CollectionView水平和竖直瀑布流的实现
查看>>
redis安装(windows)
查看>>
前端知识复习一(css)
查看>>
从输入网址到显示网页的全过程分析
查看>>
spark集群启动步骤及web ui查看
查看>>
Maven学习笔记二:常用命令
查看>>
利用WCF改进文件流传输的三种方式
查看>>
程序员的素养
查看>>
Spring学习总结(2)——Spring的常用注解
查看>>
关于IT行业人员吃的都是青春饭?[透彻讲解]
查看>>
C# Winform 中DataGridView 实现单元格输入下拉框功能
查看>>
钱到用时方恨少(随记)
查看>>
python 时间操作
查看>>
【oracle】一些的常用命令
查看>>