ER #18简要题解

就是推出循环矩阵乘积

然后一次操作后得到的c矩阵第一行第i列就是i的情况(b矩阵下标是a矩阵下标的转置)

两个循环矩阵乘积还是循环矩阵

以此推式子,发现c矩阵的第一行可以用a,b的第一行用循环卷积的形式表示

循环卷积也有结合律,可以快速幂

得到的多项式就是最终c矩阵第一行,直接输出即可。

emmm。。。

其实不用循环矩阵(这样只是说得方便严谨)

把b多项式reverse

画图可以得到

c=a*b *是循环卷积。

红色插入补充一点:

对于每个ai,质因数分解,枚举出约数。

开2e7个vector记录每个数是哪些数的约数,然后枚举每个数作为约数,遍历vector进行dfs

总复杂度是约数个数的5e7左右

但是2e7个vector会爆炸

开大数组然后分配内存:

cnt[2e7]表示是i的倍数的点多少个。i|d,cnt[i]++

通过cnt大小分配位置

再进行一次,把每个数填进去(这里可以开1e5个vector存约数,就不用再分解了)

第一步这个反演类似莫比乌斯反演

不同的是这是枚举倍数

分析法可以证明(把结果的g用条件换掉,然后大力反演,最后用f*[n==1]得到f)

ER-18的更多相关文章

  1. (转)POJ题目分类

    初期:一.基本算法:     (1)枚举. (poj1753,poj2965)     (2)贪心(poj1328,poj2109,poj2586)     (3)递归和分治法.     (4)递推. ...

  2. poj分类

    初期: 一.基本算法:      (1)枚举. (poj1753,poj2965)      (2)贪心(poj1328,poj2109,poj2586)      (3)递归和分治法.      ( ...

  3. POJ题目分类(转)

    初期:一.基本算法:     (1)枚举. (poj1753,poj2965)     (2)贪心(poj1328,poj2109,poj2586)     (3)递归和分治法.     (4)递推. ...

  4. POJ题目(转)

    http://www.cnblogs.com/kuangbin/archive/2011/07/29/2120667.html 初期:一.基本算法:     (1)枚举. (poj1753,poj29 ...

  5. day 25-1 接口类、抽象类、多态

    # 接口类:python 原生不支持# 抽象类:python 原生支持的 接口类 首先我们来看一个支付接口的简单例子 from abc import abstractmethod,ABCMeta #我 ...

  6. [POJ题目分类][转]

    Hint:补补基础... 初期:一.基本算法:     (1)枚举. (poj1753,poj2965)     (2)贪心(poj1328,poj2109,poj2586)     (3)递归和分治 ...

  7. POJ 分类

    初期: 一.基本算法:      (1)枚举. (poj1753,poj2965)      (2)贪心(poj1328,poj2109,poj2586)      (3)递归和分治法.      ( ...

  8. Poj 题目分类

    初期:一.基本算法:     (1)枚举. (poj1753,poj2965)     (2)贪心(poj1328,poj2109,poj2586)     (3)递归和分治法.     (4)递推. ...

  9. 18数据表&E-R模型&概念数据模型-下(选学)-天轰穿大话数据库视频教程

    关键字:数据表 三大范式 外键 主键 数据表设计 天轰穿 sqlserver 数据库大纲:属性与主键,外键&联系,三大范式,设计表时应该考虑的因素 土豆超清地址: 优酷超清地址: 原文地址:h ...

随机推荐

  1. Python中的内建函数(Built_in Funtions)

    前言 在Python官方文档的标准库章节中,第一节是简介,第二节就是Built_in Functions,可见内建函数是Python标准库的重要组成部分,而有很多内建函数我们平时却很少用到或根本就不知 ...

  2. Lua学习笔记(4): 字符串

    Lua的字符串有3种初始化方式 str = "2333" str = 'hahahaha' str = [[ruarua]] 其中单引号和双引号的初始化方式并无区别,[[]]双中括 ...

  3. hive的内置函数和自定义函数

    一.内置函数 1.一般常用函数 .取整函数 round() 当传入第二个参数则为精度 bround() 银行家舍入法:为5时,前一位为偶则舍,奇则进. .向下取整 floor() .向上取整 ceil ...

  4. LeetCode--147.对链表进行插入排序

    题目描述: 插入排序的动画演示如上.从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示). 每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中. 插入排序算法 ...

  5. C语言—栈

    栈的操作:进栈和出栈 #include "stdafx.h" #include "stack.h" #define maxsize 20 typedef int ...

  6. Web全景图的原理及实现

    全景图的基本原理 全景图是一种广角图.通过全景播放器可以让观看者身临其境地进入到全景图所记录的场景中去.比如像是这个.这种看起来很高大上的效果其实背后的原理并不复杂. 通常标准的全景图是一张2:1的图 ...

  7. win10 redis安装教程

    下载解压,没什么好说的,在解压后的目录下有以下这些文件: 在 命令行 启动服务端 redis目录下执行: redis-server.exe redis.windows.conf 如果需要 开机启动:执 ...

  8. World Cup(思维+模拟)

    Description Allen wants to enter a fan zone(球迷区) that occupies a round square and has nn entrances. ...

  9. 20181120-10 Beta阶段第2周/共2周 Scrum立会报告+燃尽图 7

    此作业要求参见:[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2415] 版本控制地址    [https://git.coding.n ...

  10. 欢迎来怼--第三十次Scrum会议

    一.小组信息 队名:欢迎来怼 小组成员 队长:田继平 成员:李圆圆,葛美义,王伟东,姜珊,邵朔,阚博文 小组照片 二.开会信息 时间:2017/11/18 17:20~17:53,总计33min. 地 ...