UVa 11384 Help is needed for Dexter
分析题目以后得出,对于一个连续等差递增的序列,例如1,2,3,4,5,6,每次选择其中后一半,减去能减的最大数,则是最优操作。
上述序列经过一次操作后变为1,2,3,0,1,2,此时可抛弃后一半(已经能和前一半一起处理了),操作前三个数的后两个,以此类推,总共三次操作可把所有数减成0
分析得到递推式:设n为序列长度,ans(n)=ans(n/2)+1
于是代码变得很简单了:
原创
2016-05-09 23:19:30 ·
443 阅读 ·
0 评论