[FFT] [HDU5307] He is Flying
来源:互联网 发布:php html5 关系 编辑:程序博客网 时间:2024/06/05 06:23
题目传送门。
假如大家烦E文,下面是我的翻译版……
(假如翻译也不想看请直接跳到题解部分……又XJB翻译)
题目描述 Description
劼劼劼想沿着一条漫长的路飙车,这条路有
n 段,第i 段有一非负整数的长度si 。劼劼劼将选择一些连续部分在上面飙车(以一个不可思议的速度),所以共有n×(n−1)2 种不同方法飙。如果劼劼劼从第i 段飙到第j 段,他将获得j−i+1 点兴奋值。现在劼劼劼想知道,如果他尝试所有长为s 的路,它能获得的总兴奋值是多少。请注意在本题中,一段路的长度可以是0 ,意味着长度太短可以认为是0 。
输入 Input
第一行为单独的一个整数
T (T=5 ),表示测试数据组数。
对于每组数据,第一行包含一个整数n 。第二行包含n 个非负整数,表示每段的长度。如果我们把每段路的总长度表示为s ,我们保证0≤s≤5×104,1≤n≤105 。
输出 Output
对于每组数据输出
s+1 行,第i 行的单独一个整数表示如果劼劼劼能飙完所有i−1 长的路,他能获得的总兴奋值。
嗯,吉司机……
第一眼没思路,第二眼没思路,……,第n眼没思路。
这种题一定是构造题(经验+2)。
很容易想到前缀和,记前缀和为
考虑这样的一个单项式
证明可以拆开来看,可以看出是完美的构造出需要的单项式的。
但是有两个问题,一个是
构造第一题……
(真是看脸)
时间复杂度
需要使用long double才能通过。
PoPoQQQ:“对于模一个数的计数问题必须用NTT。”
题解并没用FFT而是把模数取得非常大用CRT合并了一遍NTT……
Code
阅读全文
0 0
- hdu5307 He is Flying FFT
- [FFT] [HDU5307] He is Flying
- HDU5307 He is Flying
- HDU 5307 He is Flying【FFT】
- hdu 5307 He is Flying [FFT]
- HDU 5307 He is Flying 构造多项式+FFT
- hdu 5307 He is Flying
- hdu 5307 He is Flying
- 多校第二场1008 He is flying
- 【HDU】5307 He is Flying【分别统计+NTT】
- hdu 5307 He is Flying 2015 Multi-University Training Contest 2 快速傅里叶变换
- Time is flying!!!
- sicily 1558 He is Offside!
- API RegCloseKey Is he a nd1
- API ChooseColor Is he so d1
- he is finding this trip very exciting
- HE IS JUST NOT THAT INTO YOU.
- 中级4 He who hesitates is lost
- 给定一定金额的钱,求换得后的硬币个数最少
- 一个序列中连续子序列的最大和
- Jquery实现如何实现DIV由下向上展开的效果,鼠标浮动时div由下向上缓慢展开。
- 文章标题
- git
- [FFT] [HDU5307] He is Flying
- Kali Linux安装之Kali和Windows双引导(转载)
- 用Mini ISO通过网络安装Kali Linux
- <c:forEach varStatus="status">中 varStatus的作用
- 477. Total Hamming Distance
- TProfiler简介
- linux下RPM包制作
- leetcode.496. Next Greater Element I
- 人机大战结局,为何日本公众的看法与我们不同?