[WC2014]时空穿梭(莫比乌斯反演)

https://www.cnblogs.com/CQzhangyu/p/7891363.html

不难推到$\sum\limits_{D=1}^{m_1}\sum\limits_{d|D}C_{d-1}^{c-2}\mu(\frac D d)\prod\limits_{i=1}^n\frac {(2m_i-({\lfloor \frac {m_i} {D} \rfloor}+1)\times D){\lfloor \frac {m_i} {D} \rfloor}}{2}$。

$O(Tnm)$,可以拿80甚至100。

我们发现,求和部分与累积部分都含有D,这使分块加速变得困难。

化一下式子发现,当将$\lfloor\frac{m}{D}\rfloor$看作常数时,右边可以化成一个n次多项式。

$O(cm\log m+nmc)$预处理出多项式系数,$O(n\sqrt{m})$整除分块,$O(n^2)$暴力求多项式系数即可。

常数过大BZ被卡。

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 #define rep(i,l,r) for (int i=(l); i<=(r); i++)
 5 using namespace std;
 6 
 7 const int N=100010,M=100000,mod=10007,inv2=5004;
 8 bool b[N];
 9 int T,c,n,tot,mn,ans,m[12],p[N],mu[N],C[N][22],s[N][21][12],sj[N][12],f[12],g[N][22];
10 
11 int main(){
12     freopen("space.in","r",stdin);
13     freopen("space.out","w",stdout);
14     mu[1]=1;
15     rep(i,2,M){
16         if (!b[i]) p[++tot]=i,mu[i]=-1;
17         for (int j=1; j<=tot && i*p[j]<=M; j++){
18             b[i*p[j]]=1;
19             if (i%p[j]==0) break;
20             mu[i*p[j]]=-mu[i];
21         }
22     }
23     rep(i,0,M){
24         C[i][0]=1;
25         rep(j,1,min(i,20)) C[i][j]=(C[i-1][j-1]+C[i-1][j])%mod;
26     }
27     rep(i,1,M){
28         int tmp=1;
29         rep(k,0,11) sj[i][k]=tmp,tmp=1ll*tmp*i%mod;
30     }
31     rep(j,0,20) rep(i,1,M) if (mu[i])
32         for (int k=i; k<=M; k+=i) g[k][j]=(g[k][j]+1ll*mu[i]*C[k/i-1][j]%mod+mod)%mod;
33     rep(i,1,M) rep(j,0,20) rep(k,0,11) s[i][j][k]=(s[i-1][j][k]+1ll*g[i][j]*sj[i][k])%mod;
34     for (scanf("%d",&T); T--; ){
35         scanf("%d%d",&n,&c); mn=N; ans=0;
36         rep(i,1,n) scanf("%d",&m[i]),mn=min(mn,m[i]);
37         for (int i=1,lst; i<=mn; i=lst+1){
38             lst=mn; rep(j,1,n) lst=min(lst,m[j]/(m[j]/i));
39             int tmp=1; rep(j,1,n) tmp=1ll*tmp*(m[j]/i)%mod*inv2%mod;
40             memset(f,0,sizeof(f)); f[0]=1;
41             rep(j,1,n) for (int k=j; ~k; k--) f[k]=(2ll*f[k]*m[j]%mod-1ll*f[k-1]*(m[j]/i+1)%mod+mod)%mod;
42             rep(j,0,n) ans=(ans+1ll*tmp*f[j]%mod*(s[lst][c-2][j]-s[i-1][c-2][j]+mod)%mod)%mod;
43         }
44         printf("%d\n",ans);
45     }
46     return 0;
47 }

 

转载于:https://www.cnblogs.com/HocRiser/p/10265166.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/364273.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

css设置字符长度,在css中设置最大字符长度

12 个答案:答案 0 :(得分&#xff1a;199)你总是可以通过设置max-width和溢出ellipsis来使用截断方法p {white-space: nowrap;overflow: hidden;text-overflow: ellipsis;max-width: 200px;}对于多行截断&#xff0c;请查看flex解决方案。截断3行的示例。p {overflow: hidden;d…

一些sql 语句(行列转换等)

1. 行列转换--普通假设有张学生成绩表(CJ)如下Name Subject Result张三 语文 80张三 数学 90张三 物理 85李四 语文 85李四 数学 92李四 物理 82想变成 姓名 语文 数学 物理张三 80 90 85李四 85 92 82declare sql varchar(4000)set sql select Nameselect sql sql ,sum(cas…

关于html以及js相关格式验证的记录

验证的常见方式 我们在写前端的时候或多或少的会遇到一些验证格式问题&#xff0c;通常我们有三种解决办法。 第一种就是在输入完成后在输入框附近验证给出提示第二种就是在输入完成后在提交的时候排着验证提示第三张就是限制输入 前面两种我们都是非常的熟悉以及想到的&…

mysql重做日志_MySQL-重做日志 redo log -原理

【redo log buffer】【redo log file】-原理目录&#xff1a;1.重做日志写入过程图2.相关知识点汇总图3.redo_log_buffer 原理4.redo_log_file 原理1. 重做日志写入过程&#xff1a;2. 相关知识点汇总&#xff1a;3. redo log buffer 原理重做日志缓冲(redo log buffer)是Innod…

Java 8 Friday:使用Streams API时的10个细微错误

在Data Geekery &#xff0c;我们喜欢Java。 而且&#xff0c;由于我们真的很喜欢jOOQ的流畅的API和查询DSL &#xff0c;我们对Java 8将为我们的生态系统带来什么感到非常兴奋。 Java 8星期五 每个星期五&#xff0c;我们都会向您展示一些不错的教程风格的Java 8新功能&#…

孤荷凌寒自学python第六十八天学习并实践beautifulsoup模块1

孤荷凌寒自学python第六十八天学习并实践beautifulsoup模块1 &#xff08;完整学习过程屏幕记录视频地址在文末&#xff09; 感觉用requests获取到网页的html源代码后&#xff0c;更重要的工作其实是分析得到的内容&#xff0c;因此这时候大名鼎鼎的BeautifulSoup模块就可以大展…

如何将h5网页改成微信网页

1、如何将h5网页改成微信网页 1、设置安全域名 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。 备注&#xff1a;登录后可在“开发者中心”查看对应的接口权限。 2、引用一个js文件 在微信开发者里面 js sdk里面 <sc…

AspNetForums中基于角色的权限控制

AspNetForums中基于角色的权限控制 http://blog.joycode.com/dotey/archive/2005/02/24/44791.aspxasp.net页面如何控制页面依据不同用户权限有不可见、可见、编辑 三种操作权限 http://community.csdn.net/Expert/topic/3436/3436974.xml?temp.0139429做过权限管理和想做权限…

c#a服务器上传文件b服务器,C#_c#批量上传图片到服务器示例分享,客户端代码: 复制代码 代码 - phpStudy...

c#批量上传图片到服务器示例分享客户端代码&#xff1a;/// /// 批量上传图片/// /// 服务器路径/// 图片文件夹路径/// 图片名称public void UpLoadFile(string srcurl, string imagesPath, List files){int count 1;foreach (string imageName in files){string name image…

mysql集群重启offline_mysql集群搭建问题及解决方法集锦

在上一篇博客中写了如何搭建mysql集群&#xff0c;之所以遇到这些问题&#xff0c;是因为刚开始弄mysql集群的时候不熟悉&#xff0c;正是因为这些问题&#xff0c;让我对mysql集群的了解渐渐深入&#xff0c;下面介绍在搭建mysql集群的时候我遇到了一些问题。1、mysql集群安装…

C - CJSON

cJSON API说明cJSON_Version()获得cJSON的版本cJSON_InitHooks();初始化cJSON_Hooks结构体cJSON_Parse();将字符串解析成cJSON结构体cJSON_ParseWithOpts()使用一些配置解析字符串cJSON_Print()将cJSON结构体转换成格式化的字符串cJSON_PrintUnformatted()将cJSON结构体转换成…

Java SE 8新功能导览:Java开发世界中的重大变化

与其他专业团队成员一样&#xff0c;我是采用OpenJDK的成员之一&#xff0c;但是从最近8个月开始加入&#xff0c;我们经历了Java SE 8 开发&#xff0c;编译&#xff0c;编码&#xff0c;讨论等各个阶段&#xff0c;直到将其付诸实践为止。 。 它于2014年3月18日发布&#xff…

蘑菇街一电话面试1

说说你常用的技术栈&#xff1f; ajax解决跨域问题的方法&#xff1f;jsonp的主要实现原理&#xff1f; 点击页面某个按钮&#xff0c;将原本一行显示的内容分成两行&#xff0c;如何实现&#xff1f; 怎样实现段首缩进&#xff1f;值是什么&#xff1f; 如何实现文本限制显示两…

从Java官网下载最新的文档(包含API文档)

Java学习资料(适合c转java的同学)&#xff1a; Java中带包&#xff08;创建及引用&#xff09;的类的编译 - 小明快点跑 JAVA 对象引用&#xff0c;以及对象赋值 - 飘来荡去。 Java官网下载页&#xff1a;https://www.oracle.com/technetwork/java/javase/downloads/index.html…

12121

sdfsfsfdsf转载于:https://www.cnblogs.com/zhongkeruanjian/archive/2006/06/01/414875.html

html option ajax,Ajax实现简单下拉选项效果【推荐】

基本都是固定步骤&#xff01;主要在JAVASCRIPT和PHP中的操作1、HTML代码里就只有两个SELECT标签如下&#xff1a;请选择请选择2、Javascript中进行创建选项和执行AJAX异步请求步骤如下var xhr getXhr();// 第一次执行Ajax异步请求 - 省份window.onload function(){xhr.open(…

svn安装教程 mysql_CentOS6.4 下安装SVN的详细教程(超详细)

1、检查系统是否已经安装如果安装就卸载rpm -qa subversionyum remove subversion2、安装yum install subversion3、建立SVN库mkdir -p /home/svn/repossvnadmin create /home/svn/repos执行上面的命令后&#xff0c;自动建立repositories库&#xff0c;查看/home/svn/repos 文…

babel安装

注意&#xff1a;如果没有装node.js&#xff0c;先去装一个&#xff01;&#xff01;安装node.js时会默认安装npm。 步骤&#xff1a; 1、新建一个文件夹&#xff0c;装接下来的所有东西。我新建了一个learn-es6文件夹 2、在learn-es6项目文件下创建根目录文件&#xff1a; …

针对新手的Java EE7和Maven项目–第1部分–简单的Maven项目结构–父pom

为什么呢 很多时候&#xff0c;我在日常工作中试图解决一些基本或复杂的Maven / Java EE项目结构问题。 为了提供解决方案&#xff0c;我经常最终会尝试项目结构&#xff0c;测试我在不同应用程序服务器上的部署并细化我的配置。 Maven对于新来者来说可能会有陡峭的学习曲线&a…

sql server 学习记录

sql-server 基础&#xff1a; 1、查看sqlserver的数据表 SELECT name,crdate FROM SysObjects Where XTypeU order by crdate desc 查看数据表的字段 SELECT A.name AS table_name,B.name AS column_name,C.value AS column_description FROM sys.tables A INNER JOIN sys.col…