| 题目名称 | 4411. 数列求和 |
|---|---|
| 输入输出 | oeis.in/out |
| 难度等级 | ★★★☆ |
| 时间限制 | 5000 ms (5 s) |
| 内存限制 | 512 MiB |
| 测试数据 | 10 |
| 题目来源 |
|
| 开放分组 | 全部用户 |
| 提交状态 | |
| 分类标签 | |
| 查看题解 | 分享题解 |
| 通过:9, 提交:44, 通过率:20.45% | ||||
|
|
100 | 1.282 s | 15.12 MiB | C++ |
|
|
100 | 3.884 s | 14.74 MiB | C++ |
|
|
100 | 4.035 s | 14.78 MiB | C++ |
|
|
100 | 6.765 s | 45.71 MiB | C++ |
|
|
100 | 12.647 s | 14.91 MiB | C++ |
|
|
100 | 13.404 s | 14.92 MiB | C++ |
|
|
100 | 13.557 s | 14.91 MiB | C++ |
|
|
100 | 13.725 s | 12.74 MiB | C++ |
|
|
100 | 13.778 s | 14.38 MiB | C++ |
|
|
70 | 17.628 s | 12.70 MiB | C++ |
| 本题关联比赛 | |||
| 2026.5.30 | |||
| 关于 数列求和 的近10条评论(全部评论) | ||||
|---|---|---|---|---|
|
追评:我本以为编译器理应在确定某值为常量后,直接启用巴雷特约减之仙术。但是不知为何,即使是后来我使用奇技淫巧,将无巴雷特约减的代码的模数定为了常量,其速度也几乎没有变化。有点意思!
| ||||
|
别样的卡常大战·2
数列求和邀请我说:“你敢不敢和我举行卡常大战?”我欣然前往。 我先照着大佬的题解打了一份代码,交上 COGS 后惨惨地 Wa 了,大佬让我试试洛谷,同样地 Wa 。于是我修了几处 Bug,总算在洛谷上 AC 了。 可是数列求和之间,亦有分别,把这道题搬到 COGS 的大佬决定稍作修改,将这题的模数改到了非固定值,使得我的代码跑得飞慢。 我尝试使用 inline 这种奇技淫巧,收效不大。register 想必也不会有什么作用。快读虽好,但这题的输入输出都不多,估计也没什么用。 绝望之下,我在脑海中搜索到五个神奇字符:巴雷特约减。 我狠狠钻研了 Barrett Reduction 的奥秘,写了一份板子到我的代码里,然后狠狠提交到了 COGS 上,狠狠 AC! 最终我在排行榜上站在第二,这对数列求和的打击比屠杀模数还要大,爽! | ||||
Kyouko 是数学天才的说是,闲着没事不知道在哪里整个数列求和的题给你。
给定 $n,a,k,P$,求出:
$$\left(\sum_{i=1}^n i^ka^i\right)\bmod P$$大洋里
一行四个整数,分别是 $n,a,k,P$。
一行一个整数,表示答案。
3 4 0 1000000007
84
3 10 1 1000000007
3210
3 9 2 1000000007
6894
本题共 $10$ 个测试点。
对于测试点 $1\sim 2$,有特殊性质满足 $n\le 10^6$。
对于测试点 $3\sim 4$,有特殊性质满足 $k=0$。
对于测试点 $5\sim 6$,有特殊性质满足 $a=1$,其中两个测试点分别满足 $k\le100/k\le 2000$。
对于测试点 $7\sim 8$,有特殊性质满足 $k\le 100$。
对于测试点 $9\sim 10$,无特殊性质。
对于所有测试点,编号为奇数的测试点满足 $P=10^9+7$,编号为偶数的测试点满足 $5\times 10^8\le P\le 10^9+7$。
对于所有的测试数据,保证 $1\le n\le 10^{18},1\le a\le 10^9,0\le k\le 2000$。
???