• 「刷题」Triple


    正解是普通型母函数+FFT。

    才学了多项式,做了一道比较好的题了。

    首先有三个斧子被偷了。

    我们考虑构造一种普通型母函数。

    就是说一种多项式吧,我的理解。

    系数是方案,下标,也就是所谓的元指数代表的是价值。

    这样如果两个母函数相乘的话,指数相加,系数相乘。

    正好就是两个单元合并之后的方案和价值。

    $A(x),B(x),C(x)$分别代表一把相同的斧子用价值为x,2把为x,3把为x的方案数。

    容斥一下。

    三把的答案就是$A(x)*A(x)*A(x)-C_3^1A(x)B(x)+2C(x)$

    解释一下,三把相乘得到每把斧子有三把的方案,但是每个只有一把,所以减掉有两把相同的,但是不知道是哪两把,所以乘$C_3^1$,最后发现两把相同的也包含三把相同的但是减掉了三次,而应当减一次,所以加回来两次。

    要除以6,因为默认了有第一把第二把和第三把。

    两把的话就是$A(x)*A(x)*-B(x)$要除以2。

    同样简单的容斥即可。

    一把就是$A(x)$了。

    然后$FFT$乘一下就行了。

    还没搞懂$NTT$。

    猜测一下$NTT$的原理应该是和$FFT$一样的。

    只不过是用了两个不同的群吧。

    $FFT$用的是复数群,群运算是复数的$+-*/$。

    $NTT$用的是$Z_p$也就是同余系,群运算是整数的$+-*/ mod $。

    能够相通是因为对于复数域的$n$次单位根$w_n^1$,$Z_p$中有具有相同性质的原根$g$。

    我猜。。。

  • 相关阅读:
    jenkins 持续集成iOS开发
    CocoaPods 简介
    iOS 10 Programming Fundamentals with Swift 学习笔记 0
    人生,从来没有白走的路
    Oracle数据库备份与恢复命令
    远程备份数据库文件
    恢复误删数据库数据
    Oracle同义词创建及其作用
    同义词使用案例
    ORA-01940无法删除当前已连接用户
  • 原文地址:https://www.cnblogs.com/Lrefrain/p/11563963.html
Copyright © 2020-2023  润新知