[DP] [1D1D优化] [FFT] [CDQ分治] [HDU5730] Shell Necklace
来源:互联网 发布:ogame银河帝国源码 编辑:程序博客网 时间:2024/05/29 10:11
题目传送门
接着翻译:(这次翻译可能不太好……)
题目描述 Description
也许大海对贝壳的定义是珍珠。然而在我看来,一串带有
n 个美丽的贝壳的贝壳项链包含着我对我最爱的Arrietty最真挚的感情。
假设这串贝壳项链是一个贝壳序列(不是一个环?)。考虑项链中连续i 个贝壳,我知道存在不同的方案去装饰这i 个贝壳作为一个爱的宣言(什么鬼???)。
我想用几个爱的宣言装饰所有的贝壳并且只装饰每个贝壳一次。作为一个问题,我想知道方案的总数。
输入 Input
有多组数据(不多于
20 组,并且极限数据不多于1 组),以0 结束;
对于每组数据,第一行包含一个整数n ,表示这串贝壳项链的贝壳数,1≤n≤105 。接着一行为n 个数的非负整数序列a1 ~an ,ai≤107 ,表示装饰连续i 个段的方案数。
输出 Output
对于每组数据,输出一个行表示总方案数对
313 取模(313 表示3月13号,一个特殊而有目的的一天)。
题里说的太含糊了……其实题意为:
对于一段长为
i 的序列有a[i] 种装饰方法,求装饰一段长为n 的序列有多少种方法。
很显(kan)而(bu)易(chu)见(lai)的一个DP方程:用
暴力是
可以发现中间的部分是个类似卷积的形式,所以我们考虑怎么做这个卷积。
那么就先将它做出来……
我们需要用到CDQ分治来求……(CDQ分治太强大了%%%),对于一个区间先递归左边,然后计算左边对右边的贡献,加进去,然后递归右边……
那么就非常好了,时间复杂度是
(其实是这样的一个递推式:
Code
阅读全文
0 0
- [DP] [1D1D优化] [FFT] [CDQ分治] [HDU5730] Shell Necklace
- HDU 5730 Shell Necklace(dp+cdq分治+FFT优化)
- 【HDU5730】Shell Necklace——CDQ+FFT
- 【HDU5730 2016 Multi-University Training Contest 1H】【FFT + cdq 分治】 Shell Necklace f[i]=∑f[i-j] x a[j]
- HDU 5730 多校1 Shell Necklace (CDQ分治+FFT)
- hdu 5730 Shell Necklace cdq分治+FFT
- HDU 5730 Shell Necklace(CDQ分治+FFT)
- [HDU 5730] Shell Necklace (FFT+CDQ分治)
- [分治fft] hdu5730 2016多校第一场1008 Shell Necklace
- hdu5730 Shell Necklace
- hdu5730 Shell Necklace
- hdu5730 Shell Necklace
- Hdu 5730 Shell Necklace(cdq+fft)
- CDQ分治优化DP
- HDU 5730 Shell Necklace(FFT+分治)
- BZOJ 1492 斜率优化dp && cdq分治
- bzoj1492(cdq分治+凸包+优化dp)
- bzoj1492 [ NOI2007 ] --斜率优化DP+cdq分治
- CodeForces
- Scala学习笔记
- spring boot 连接fastDFS
- C/C++基础知识3
- U3D对于按钮的事件监听
- [DP] [1D1D优化] [FFT] [CDQ分治] [HDU5730] Shell Necklace
- (JAVA) 消除类游戏-201512-2
- poj1101和openjudge 小游戏
- shell编程-字符处理命令
- GIT 如何合并另一个远程Git仓库的文件到本地仓库里某个指定子文件夹并不丢失远程提交记录?
- Redis源码剖析和注释(二十三)--- Redis Sentinel实现(哨兵的执行过程和执行的内容)
- C++定义一个类,如果成员变量没有说明是共有还是私有那默认的是哪一个?
- Caffe学习系列——Faster-RCNN训练自己的数据集
- listener&filter