← 完整题目索引

PROJECT EULER · #0680

反转数组

Yarra Gnisrever

仅题目 · 待解原题 ↗

NK 为两个正整数。

Fn 是第 n 个斐波那契数:F1=F2=1,对于所有 n3Fn=Fn1+Fn2
sn=F2n1modN 并设 tn=F2nmodN

从整数数组 A=(A[0],,A[N1]) 开始,其中最初每个 A[i] 等于 i。 现在对 A 执行 K 个连续操作,其中第 j 个操作包括反转 A 中索引在 sjtj(两端均包含)之间的元素的顺序。

定义R(N,K)K运算后的i=0N1i×A[i]

例如,R(5,4)=27,从以下过程可以看出:

初始位置:(0,1,2,3,4)
第 1 步 - 将 A[1] 反转为 A[1](0,1,2,3,4)
步骤 2 - 将 A[2] 反转为 A[3](0,1,3,2,4)
步骤 3 - 将 A[0] 反转为 A[3](2,3,1,0,4)
步骤 4 - 将 A[3] 反转为 A[1](2,0,1,3,4)
R(5,4)=0×2+1×0+2×1+3×3+4×4=27

此外,R(102,102)=246597R(104,104)=249275481640

找到 R(1018,106),将你的答案对 109 取模。

题解待补充

这道题的题目已收录,解题思路、代码和答案将在后续补充。