首页 > 其他分享 >SDOI2015 序列统计

SDOI2015 序列统计

时间:2023-09-10 21:22:35浏览次数:42  
标签:数列 原根 varphi leq SDOI2015 等于 序列 统计

题目链接

description

给定一个质数 \(m\),以及 \(n,x\) 和集合 \(S\)。从集合 \(S\) 中任意选数构成长度为 \(n\) 的数列(一个数可以选多次),求数列元素乘积模 \(m\) 等于 \(x\) 的数列的数量。模 \(1004535809\)。

\(3\leq m\leq 8000\)

\(1\leq n\leq 10^9\)

\(|S|\leq m,0\leq x<m\)

solution

发现 \(m\) 是奇素数,所以存在模 \(m\) 的原根 \(g\),且 \([1,m-1]\) 中的每个整数都可以用 \(g\) 的 \([0,m-2]\) 次幂表示。设 \(a\) 的指标 \(I(a)\) 满足 \(g^{I(a)}=a\)。则根据离散对数的运算法则,要求数列中的数的指标的和模 \(\varphi(m)\) 等于 \(I(x)\)。可以 BSGS 求出 \(x\) 和 \(S\) 中数的指标。

于是问题变成从集合中选 \(n\) 个数,使它们的和在模意义下等于一个数。

由于 \(1004535809\) 是个 NTT 模数,直接构造多项式,进行快速幂即可。每次卷积后把大于等于 \(\varphi(m)\) 的次数的项的次数模 \(\varphi(m)\) 存起来即可。

时间复杂度 \(O(|S|\sqrt{m}+m\log m\log n)\)

hint

求 \(m\) 的原根可以直接从小到大枚举,根据原根定理判定即可。

code

参考代码:提交记录 - BZOJ by HydroOJ

标签:数列,原根,varphi,leq,SDOI2015,等于,序列,统计
From: https://www.cnblogs.com/FreshOrange/p/17691964.html

相关文章

  • 代码随想录算法训练营-回溯算法|491.递增子序列
    491. 递增子序列 不对原数组进行排序,利用set对同层的子集进行去重。1classSolution:2deffindSubsequences(self,nums):3result=[]4path=[]5self.backtracking(nums,0,path,result)6returnresult78......
  • Python第四章序列(2):元组
    1.创建元组:  a=('a',2009) //与列表不同,用圆括号  a=()  a=(20,) //当元组中只包含一个元素的时候,需要在元素后加逗号,不然括号会被当成运算符2.元组访问:  a[1]   a[2:5] //也可以用切片  也可以用for的遍历。3.修改元组:  元组不允许......
  • Python第四章序列(1):列表
    1.列表的创建:  a=['hallo','guten',[2002,2223]]  empty_list=[]2.获得列表长度:  len(a)3.创建数值列表:  a=list(range(1,6))  //1到6的列表  b=list(range(1,11,2))  //1到10的奇数列表  c=list(random.sample((0,50),20)) //0到50的......
  • 【js】【统计次数】静态页面访问次数 js页面请求次数统计
    ​效果: 源码:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>静态页面访问量统计</title></head><body><scripttype="text/javascript">varpgcoun......
  • R语言统计学DOE实验设计:用平衡不完全区组设计(BIBD)分析纸飞机飞行时间实验数据|附代码
    全文链接:http://tecdat.cn/?p=31010原文出处:拓端数据部落公众号平衡不完全区组设计(BIBD)是一个很好的研究实验设计,具有从统计的角度看各种所需的特征。最近我们被要求撰写关于BIBD的研究报告,包括一些图形和统计输出。对于一个BIBD有K个观测,重复r次实验。还有第5参数lamda,记录其......
  • R语言武汉流动人口趋势预测:灰色模型GM(1,1)、ARIMA时间序列、logistic逻辑回归模型|附代
    全文链接:http://tecdat.cn/?p=32496原文出处:拓端数据部落公众号人口流动与迁移,作为人类产生以来就存在的一种社会现象,伴随着人类文明的不断进步从未间断。人力资源是社会文明进步、人民富裕幸福、国家繁荣昌盛的核心推动力量。当前,我国经济正处于从以政府主导的投资驱动型的经......
  • MethodTimer.Fody 统计代码执行时间
    开发时,经常需要了解代码的执行效率,可以借助MethodTimer.Fody这个开源库。主页:https://github.com/Fody/MethodTimer1、安装Nuget包:Install-PackageMethodTimer.Fody2、AddtoFodyWeavers.xml<Weavers><MethodTimer/></Weavers>3、代码部分,在需要统计的方法上头加上......
  • hw面试题拾遗:统计大陆数量
    这个本来应该在几个月前就处理,一直拖到了现在。题目描述很简单,一个二维平面被分割为小块,每块可能是陆地或者海洋。1表示陆地,0表示海洋。如果一个陆地区块的上\下\左\右是一块陆地,那么它们就会被看成是一个大陆。给定数组表示各区块,统计出有几块大陆。 关于这道题,当时给出题目......
  • 用函数公式统计小数部分的位数!
    1职场实例小伙伴们大家好,今天我们来解决一个公众号关注者后台留言咨询的一个问题:如何利用Excel函数公式统计小数部分的位数。基于这个问题呢,小编整理了一下解题思路,并且可以带大家温习几个基础的常用的函数用法。如下图所示:A列为我们将要统计原始数据,我们发现所有的数值均带小数点,......
  • 生物信息学、生物统计学或者生物医学工程
    本科动物医学想考研跨考到生物信息学、生物统计学或者生物医学工程,哪个容易些? ChatBio-X生物学/制药/医疗卫生/科研前沿/高考考研谢邀@胡杨创作声明:包含AI辅助创作4人赞同了该回答这三个方向都是当前的热门学科,人才需求量大,就业前景......