[COCI2016-2017#2] Nizin
题目描述
设 A A A 是一个含有 n n n 个元素的数组,其中各元素的编号为 1 … n 1\dots n 1…n。若对于任意整数 i ∈ [ 1 , n ] i\in [1,n] i∈[1,n] 都有 A i = A n − i + 1 A_i=A_{n-i+1} Ai=An−i+1,则称 A A A 是一个「回文数组」。
Mislav 可以通过以下方式修改一个数组:
- 选择两个相邻的元素。
- 将这两个元素替换为一个新的元素,值为它们的和。
现在,给出一个数组。请你计算在至少多少次修改后,Mislav 可以将其修改为一个「回文数组」。
输入格式
第一行一个整数 n n n,表示数组中元素的个数。
接下来一行 n n n 个整数 a i a_i ai,表示数组中的元素。
输出格式
一行,一个整数,表示 Mislav 至少需要修改数组的次数。
样例 #1
样例输入 #1
3
1 2 3
样例输出 #1
1
样例 #2
样例输入 #2
5
1 2 4 6 1
样例输出 #2
1
样例 #3
样例输入 #3
4
1 4 3 2
样例输出 #3
2
提示
【样例解释】
使用 [] 标记 Mislav 修改时所选择的两个数。
样例 1 解释
[1 2] 3 -> 3 3。
样例 2 解释
1 [2 4] 6 1 -> 1 6 6 1。
样例 3 解释
[1 4] 3 2 -> 5 [3 2] -> 5 5。
【数据规模与约定】
- 对于 30 % 30\% 30% 的数据,保证 n ≤ 10 n \leq 10 n≤10。
- 对于 60 % 60\% 60% 的数据,保证 n ≤ 1 0 3 n \leq 10^3 n≤103。
- 对于 100 % 100\% 100% 的数据,保证 1 ≤ n ≤ 1 0 6 1\le n\le 10^6 1≤n≤106, 1 ≤ a i ≤ 1 0 9 1\le a_i\le 10^9 1≤ai≤109。
【说明】
题目译自 COCI2016-2017 CONTEST #2 T3 Nizin。
Scratch实现

后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容
用Scratch图形化工具信奥P6496 普及组COCI2016-2017#2 Nizin&spm=1001.2101.3001.5002&articleId=139932775&d=1&t=3&u=1f4d3df891c645f996b11a82354801df)
59

被折叠的 条评论
为什么被折叠?



