http://oj.xjtuacm.com/problem/13/

题意:wmq如今开始学习乘法了!他为了训练自己的乘法计算能力,写出了n个整数,

   并且对每两个数a,b都求出了它们的乘积a×b。现在他想知道,在求出的n(n-1)/2个乘积中,

   除以给定的质数m余数为k(0≤k<m)的有多少个。

   对每组数据输出m行,其中第i行为除以m余数为(i-1)的有多少个。

   

   第一行为测试数据的组数。

   对于每组测试数据,第一行为2个正整数n,m,2≤n,m≤60000,分别表示整数的个数以及除数。

   接下来一行有n个整数,满足0≤ai≤1e9。

   保证总输出行数∑m≤3e5。

分析:首先对于输入的a[i],我们肯定先模m一下

   然后我们关心的就变成了0~m-1中的数各自有多少个

   然后就是处理两个这样的数组“相乘”

   和FFT十分类似,但是这里并不是i+j=k,而是i*j=k,那么怎么办呢?

   注意到模数是个素数,所以一定有原根x

   那么就说明x^1,x^2,...,x^i,...,x^m-1和1,2,3,4,...m-1肯定一一对应

   那么我们可以把数字映射成x^i,那么相乘问题就变成了指数的相加

   就可以用FFT做了

   至于0的情况,特判就ok了

转载于:https://www.cnblogs.com/wmrv587/p/6715755.html

XJTUOJ13 (数论+FFT)相关推荐

  1. 【学习笔记】超简单的快速数论变换(NTT)(FFT的优化)(含全套证明)

    整理的算法模板合集: ACM模板 目录 一.前置知识 二.快速数论变换(NTT) 三.NTT证明(和FFT的关系) 四.NTT模板 数组形式的实现 vector形式的实现 点我看多项式全家桶(●^◡_ ...

  2. 比FFT还容易明白的NTT(快速数论变换)

    NTT相关 一种快速数论变换算法,这种算法是以数论为基础,对样本点为的数论变换,按时间抽取的方法,得到一组等价的迭代方程,有效高速简化了方程中的计算公式·与直接计算相比,大大减少了运算次数.(见快速傅 ...

  3. FFT 快速傅里叶变换 NTT 快速数论变换

    SDNU 1531 a*b III (FFT模板) Description 计算a乘b,多组输入(50组以内). Input 输入a b,数据范围0 <= a,b <= 10^100000 ...

  4. 算法学习FFT系列(2):快速数论变换NTT bzoj3992: [SDOI2015]序列统计例题详解

    bzoj3992: [SDOI2015]序列统计 Description 小C有一个集合S,里面的元素都是小于M的非负整数.他用程序编写了一个数列生成器,可以生成一个长度为N的数列,数列中的每个数都属 ...

  5. 【快速傅立叶变换fft数论变换ntt学习小记】

    概述 fft(快速傅立叶变换)是用来解决多项式乘法的nlog(n)算法,它的主要思想是先把多项式的多项式表达法转化成若干个二维点对(x,y)(点值),把相同x的y乘起来(计算),最后利用这些点对计算出 ...

  6. 解题报告(十八)数论题目泛做(Codeforces 难度:2000 ~ 3000 + )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...

  7. 【学习笔记】超简单的快速傅里叶变换(FFT)(含全套证明)

    整理的算法模板合集: ACM模板 目录 一.概念概述 二.前置知识 1. 多项式 2. 复数 4. 欧拉公式证明 3. 复数的单位根 / 单位向量 三.FFT 算法概述 四.离散傅里叶变换(DFT) ...

  8. 通俗讲解傅里叶变换fft

    通俗易懂的FFT_fft 二.傅立叶变换的提出 让我们先看看为什么会有傅立叶变换?傅立叶是一位法国数学家和物理学家的名字,英语原名是Jean Baptiste Joseph Fourier(1768- ...

  9. 蝴蝶优化算法_算法|FFT基础及各种常数优化,5万字笔记:公式推导+代码模板...

    作者:中二攻子 链接:https://ac.nowcoder.com/discuss/175409 来源:牛客网 本文含NTT.MTT.拆系数FFT.共轭优化FFT.多项式求逆与ln 约定: 1. 表 ...

  10. 洛谷 - P3803 【模板】多项式乘法(FFT/NTT)

    题目链接:点击查看 题目大意:给出两个多项式 F( x ) 和 G( x ) 的系数,求其卷积后的系数 题目分析:存一个FFT的模板,原理学不明白,数论和dp都扔给队友了,当个快乐的fw 代码: // ...

最新文章

  1. C++ 偏微分数值计算库_【动手学计算机视觉】第一讲:图像预处理之图像去噪...
  2. Hibernate Session的delete()方法
  3. mongodb 备份压缩_MongoDB 如何实现备份压缩
  4. Hadoop学习之以伪分布模式部署Hadoop及常见问题
  5. python实现维吉尼亚加密法
  6. ros自己写避障算法_slam导航避障算法,让无人机自主避障教学研究迈向更高处...
  7. thymleaf中枚举 判断对象值内容
  8. c++获得cpu厂商_【C++】WMI获取系统硬件信息(CPU/DISK/NetWork etc)
  9. mime 类型列表_MIME类型的完整列表
  10. 微服务Spring Boot 整合 Redis 实现好友关注 – Feed流实现推送到粉丝收件箱
  11. 鲁大师便捷查看硬盘参数
  12. ApiPost是什么?
  13. CMOS相机和CCD相机的区别
  14. 企业实施WMS仓储管理系统需要规避哪些风险
  15. 盛世传承“富三代”品牌让你的家族基业长青
  16. OPPO程序员一语惊人,你认同吗?
  17. day 和datepart 日期函数
  18. 量化交易必看电影之《蜂鸟计划》
  19. 密码学研究-Provider
  20. 什么是SCSI设备?

热门文章

  1. Python被誉为神奇的“胶水语言”,到底神奇在哪?
  2. ocelot 配置文件的动态更新
  3. 【WEB基础】HTML CSS 基础入门(2)选取工具:VS2019安装使用
  4. redis连接数据库进行操作
  5. python取文件后缀
  6. 精通 JS正则表达式(转)
  7. 键盘迷情--Treo650 VS P50 【ZZ】
  8. oracle弱口令攻击
  9. 第4章 类与对象 枚举类
  10. 如何实现parseFloat保留小数点后2位