jzoj6306-Sequence【线性筛,积性函数,数论】

正题


题目大意

定义函数f(x)f(x)f(x)表示有多少长度为nnn的序列使得其中全都是xxx的约束,然后每个序列的贡献是这个序列的gcdgcdgcdgcdgcdgcd上一个BBB

给出n,m,Bn,m,Bn,m,B,求∑i=1mf(i)\sum_{i=1}^mf(i)i=1mf(i)


解题思路

我们发现fff是一个积性函数,所以我们考虑用线性筛。

首先我们要预处理出所以f(pc)f(p^c)f(pc)(ppp为质数),我们定义ddd为最大的一个xxx使得px∣Bp^x|BpxB,有
f(pc)={∑i=0cpi∗[(c−i+1)n−(c−i)n](c≤d)pd∗(c−d+1)n+∑i=0d−1pi∗[(c−i+1)n−(c−i)n](c>d)f(p^c)=\left\{\begin{matrix} \sum_{i=0}^c p^i*[(c-i+1)^n-(c-i)^n]\ \ \ \ \ (c\leq d) \\\ p^d*(c-d+1)^n+\sum_{i=0}^{d-1} p^i*[(c-i+1)^n-(c-i)^n] \ \ \ \ (c>d) \end{matrix}\right.f(pc)={i=0cpi[(ci+1)n(ci)n]     (cd) pd(cd+1)n+i=0d1pi[(ci+1)n(ci)n]    (c>d)

然后我们发现此式子可以递推,然后用积性函数的性质,然后可以做到O(m)O(m)O(m)推出f(1∼m)f(1\sim m)f(1m)


codecodecode

/*#pragma GCC optimize(2)
%:pragma GCC optimize(3)
%:pragma GCC optimize("Ofast")
%:pragma GCC optimize("inline")*/
#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long 
using namespace std;
const ll XJQ=998244353,N=21000000;
ll n,m,f[N],ans,p[80],pri[N],cnt,B;
bool v[N];
ll power(ll x,ll b)
{ll ans=1;while(b){if(b&1) ans=(ll)ans*x%XJQ;x=(ll)x*x%XJQ;b>>=1;}return ans;
}
int main()
{//freopen("sequence.in","r",stdin);//freopen("sequence.out","w",stdout);scanf("%lld%lld%lld",&n,&m,&B);f[1]=1;p[1]=1;for(ll i=1;i<=60;i++)p[i]=power(i,n);for(ll i=2;i<=m;i++){if(!v[i]){ll d=0,P=1,last=1;pri[++cnt]=i; while(!(B%i)) B/=i,d++; for(ll j=i,c=1;j<=m;j*=i,c++){v[j]=1;if(c<=d){(f[j]=f[j/i]*i%XJQ+p[c+1]-p[c]+XJQ)%=XJQ;last=f[j];P=j;}else{f[j]=(last*i%XJQ+p[c+1]-p[c])%XJQ-(P*i)%XJQ*(p[c-d]-p[c-d-1])%XJQ;last=f[j];(f[j]+=P*p[c-d])%=XJQ;f[j]=(f[j]+XJQ)%XJQ; }}}for(ll j=1;j<=cnt;j++){if(!(i%pri[j])||i*pri[j]>m) break;//v[pri[j]*i]=1;for(ll k=pri[j];i*k<=m;k*=pri[j])v[i*k]=1,f[i*k]=f[i]*f[k]%XJQ;}}for(ll i=1;i<=m;i++)(ans+=f[i])%=XJQ;printf("%lld",ans);
}

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

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

相关文章

MongoDb连接表的查询

一、外键关联 a_table关联b_table通过a_table的a_fieldb_table的b_field&#xff0c;在a_table生成lookup_field字段存储关联的b_table数据 MongoOperations mongoOperations ...;LookupOperation agg Aggregation.lookup("b_table", "a_field","…

如何面试.NET/ASP.NET工程师?

2018-2-28 更新&#xff1a;距离这篇回答发布已经五年过去了&#xff0c;最近还经常受到关注。技术本身在发展&#xff0c;这令我感到有必要来更新一下&#xff0c;希望对新看到的朋友有用。对于服务器上的 .NET 技术&#xff0c;最新的发展当然是 .NET Core 了&#xff0c;作为…

欢乐纪中A组赛【2019.8.18】

前言 有一个暴力写挂了QVQQVQQVQ 成绩 RankRankRankPersonPersonPersonScoreScoreScoreAAABBBCCC111111(J−3)LRZ(J-3)LRZ(J−3)LRZ140140140100100100303030101010191919(J−3)WYC(J-3)WYC(J−3)WYC120120120100100100101010101010262626(J−3)HZB(J-3)HZB(J−3)HZB100100100…

Asp.Net Core 2.1+的视图缓存(响应缓存)

响应缓存Razor 页与 ASP.NET 核心 2.0 中不支持。 此功能将支持ASP.NET 核心 2.1 版本。在老的版本的MVC里面&#xff0c;有一种可以缓存视图的特性(OutputCache)&#xff0c;可以保持同一个参数的请求&#xff0c;在N段时间内&#xff0c;直接从mvc的缓存中读取&#xff0c;不…

MongoDB投影字段

一、投影表字段 投影只包含a_field和b_field字段 Aggregation aggregation Aggregation.newAggregation(Aggregation.project("a_field", "b_field")); List<Map> list mongoOperations.aggregate(aggregation, "table", Map.class).ge…

Json.NET 不再有超过120个依赖项

Json.NET是.NET的官方的JSON解析和序列化库&#xff0c;它取代了Microsoft实际提供的库。但是当把Json.NET推向.NET Standard时&#xff0c;出现了一些问题。除了在该平台上无法使用的众多方法之外&#xff0c;在NET Standard 1.3上的Json.NET需要高达122个依赖包。随着适用于.…

MongoDB新建或删除索引

一、创建索引 创建正序索引 BasicDBObject indexOptions new BasicDBObject(); indexOptions.put("fieldName", 1); mongoOperations.getCollection(tableName).createIndex(indexOptions); 创建逆序索引 BasicDBObject indexOptions new BasicDBObject(); ind…

CF613D-Kingdom and its Cities【虚树,LCA,树链剖分,贪心】

正题 题目链接:https://www.luogu.org/problem/CF613D 题目大意 一棵树&#xff0c;每次询问kkk个点&#xff0c;删除mmm个点要这些点两两不连通&#xff0c;求mmm的最小值。 解题思路 我们可以对于询问的点构造一颗虚树&#xff0c;然后进行贪心选取即可。 codecodecode #…

C#热度不如Java?网友呛声:还有使用C#不能完成的工作?

C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言&#xff0c;自发布以来受到了程序员的广泛关注。C#与Java有着很多相似之处&#xff0c;例如&#xff0c;单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是与Java每月被…

P3690-[模板]Link Cut Tree(动态树)【Splay】

正题 题目链接:https://www.luogu.org/problem/P3690 题目大意 nnn个点mmm个操作&#xff0c;要求支持 询问路径异或和连接一条边(若x,yx,yx,y没联通)删除一条边修改一个点的权值 解题思路 LCTLCTLCT板子题不解释。 codecodecode #include<cstdio> #include<cstrin…

MongoDB SpringData去掉自动生成的_class字段

使用定义的Bean类插入数据&#xff0c;spring data默认会给数据增加一个_class字段存储类的全名&#xff0c;这里需要去除类型 Configuration public class MongoConverterConfig implements InitializingBean {Autowiredprivate MappingMongoConverter mappingConverter;Over…

EntityFramework Core 2.0执行原始查询如何防止SQL注入?

前言接下来一段时间我们来讲讲EntityFramework Core基础&#xff0c;精简的内容&#xff0c;深入浅出&#xff0c;希望为想学习EntityFramework Core的童鞋提供一点帮助。EntityFramework Core执行原始查询在EntityFramework Core中执行原始查询我们借助FromSql来实现&#xff…

P3808,P3796-[模板]AC自动机(简单版/加强版)

简单版 题目链接: https://www.luogu.org/problem/P3808 题目大意 nnn个模式串&#xff0c;一个文本串&#xff0c;求有多少个模式串出现在文本串里。 解题思路 普通ACACAC自动机不解释。 codecodecode #include<cstdio> #include<cstring> #include<algorit…

MongoDB SpringBoot ObjectId序列化json为String

mongodb的ObjectId默认序列化为bean对象&#xff0c;如果需要转换为json字符对象&#xff0c;配置如下 Configuration public class JacksonConfig implements InitializingBean {Resourceprivate ObjectMapper objectMapper;Overridepublic void afterPropertiesSet() {Simpl…

EntityFramework Core 2.0自定义标量函数两种方式

前言上一节我们讲完原始查询如何防止SQL注入问题同时并提供了几种方式。本节我们继续来讲讲EF Core 2.0中的新特性自定义标量函数。自定义标量函数两种方式在EF Core 2.0中我们可以将方法映射到数据库中的标量函数&#xff0c;我们可在LINQ中调用此方法并会被正确翻译成SQL语句…

jzoj6310-Global warming【线段树,LIS】

正题 题目大意 给出一个长度为nnn的序列aaa&#xff0c;可以选择一个区间[l,r][l,r][l,r]使得aiaid(l≤i≤r,∣d∣≤x)a_ia_id(l\leq i\leq r,|d|\leq x)ai​ai​d(l≤i≤r,∣d∣≤x)。求最长上升子序列的最大值。 解题思路 我们可以发现肯定有一种最优解法是选择[k,n][k,n][…

SpringBoot shedlock MongoDb锁配置

配置mongo的表进行锁任务管理 maven依赖包 <dependency><groupId>net.javacrumbs.shedlock</groupId><artifactId>shedlock-spring</artifactId><version>2.5.0</version></dependency><dependency><groupId>net…

jzoj6311-Mobitel【dp,整除分块】

正题 题目大意 n∗mn*mn∗m的矩阵&#xff0c;求有多少条路径的乘积不小于SSS。 解题思路 我们用总路径数减去乘积小于SSS的路径数 我们很容易想到用fi,j,kf_{i,j,k}fi,j,k​表示到(i,j)(i,j)(i,j)这个点&#xff0c;然后乘积之和为kkk的dpdpdp。但是时间复杂度O(nmS)O(nmS)O…

ASP.NET Core远程调试

关于ASP.NET Core远程调试的具体做法可参考微软文档——Remote Debug ASP.NET Core on a Remote IIS Computer in Visual Studio 2017&#xff0c;详细做法不再赘述&#xff0c;这里主要记录下自己的感受。体验Web Deploy这种发布方式可直接将代码打包发到指定服务器的指定站点…

SpringCloud Consul自定义服务注册

SpringCloud自定义consul服务注册器&#xff0c;获取特定的本地地址进行注册&#xff0c;注销的时候检查并注销其他无效实例 package com.mk.springcloud.config;import com.ecwid.consul.v1.ConsulClient; import com.ecwid.consul.v1.agent.model.NewService; import com.ec…