題目描述
從前有一條神奇的項鍊,為什麼說它神奇呢?因為它有兩個性質:
1. 神奇的項鍊可以拉成一條線,線上依次是n 個珠子,每個珠子有乙個能量值ei;
2. 除了第乙個和最後乙個珠子,其他珠子都滿足ei=(ei-1+ei+1)/2+di。
由於這條項鍊很長,我們只能知道其兩端珠子的能量值。並且我們知道每個珠子的
di是多少。請聰明的你求出這n 個珠子的能量值分別是多少。
輸入
第一行三個整數n、e1、en,表示珠子個數n,第乙個珠子和第n 個珠子的能量值。
第二行n-2 個整數,表示第2 個珠子到第n-1 個珠子的di。
輸出
輸出僅一行,n 個整數,表示1 到n 個這n 個珠子各自的能量值ei。
請放心,資料保證對於任意珠子滿足(ei-1+ei+1)mod 2=0
樣例輸入
sample input 1:
414
00
sample input 2:
10122
12-3
5142
-1
樣例輸出
sample output 1:
123
4
sample output 2:
1
1425
3245
4849
4231
22
資料範圍限制
40%的資料 114,|di|<=104。
這道題其實是一道數學題,我們將題目給出的公式轉變一下,然後再求出第二個值(如果暴力列舉,會超時,所以我們用二分),就直接可以暴力了
e[i]=(e[i-1]+e[i+1])/2+d[i]同乘2,得:
2e[i]=e[i-1]+e[i+1]+2d[i]
移項,得:
e[i+1]=2e[i]-e[i-1]-2d[i]
所以通項公式為
e[i]=2e[i-1]-e[i-2]-2d[i-1]
#include
#include
using
namespace std;
long
long n,l,r,a,e[
500005
],d[
500005];
intmain()
else
if(e[n]
;else r=e[2]
;}}
神奇的項鍊(數學)
題目描述 笨笨有一條神奇的項鍊,為什麼說它神奇呢?因為它有兩個性質 神奇的項鍊可以拉成一條線,線上依次是n個珠子,每個珠子有乙個能量值ei 除了第乙個和最後乙個珠子,其他珠子都滿足ei ei 1 ei 1 2 di。由於這條項鍊很長,我們只能知道其兩端珠子的能量值。並且我們知道每個珠子的di是多少。...
3790 神奇項鍊
容易發現,處理回文串的時候得到的答案是可以去更新答案的,即 令 f i f i 表示處理前 i i 個最小由幾個回文串構成,那麼,對於第 i role presentation i i個位置,他由 i p i n i p i n 能更新的就是 前 1 i p i 1 1,i p i 1 因為前字尾相...
3790 神奇項鍊
母親節就要到了,小 h 準備送給她乙個特殊的項鍊。這個項鍊可以看作乙個用小寫字 母組成的字串,每個小寫字母表示一種顏色。為了製作這個項鍊,小 h 購買了兩個機器。第乙個機器可以生成所有形式的回文串,第二個機器可以把兩個回文串連線起來,而且第二個機器還有乙個特殊的性質 假如乙個字串的字尾和乙個字串的字...