早教吧作业答案频道 -->数学-->
请教用贪心算法求解数列的极差M问题在黑板上写了N个正整数作成的一个数列,进行如下操作:每一次擦去其中的两个数a和b,然后在数列中加入一个数a×b+1,如此下去直至黑板上剩下一个数,在
题目详情
请教用贪心算法求解数列的极差M问题
在黑板上写了N个正整数作成的一个数列,进行如下操作:每一次擦去其中的两个数a和b,然后在数列中加入一个数a×b+1,如此下去直至黑板上剩下一个数,在所有按这种操作方式最后得到的数中,最大的max,最小的为min,则该数列的极差定义为M=max-min.希望大家能给出具体实现的算法(C/C++)
可以参照下面的提示来写:
把求解max与min的过程分开,着重探讨求max的问题。
讨论:假设经(N-3)次变换后得到3个数:a,b,max'(max’≥a≥b),其中max’是(N-2)个数经(N-3)次f变换后所得的最大值,此时有两种求值方式,设其所求值分别为 则有:=(a×b+1)×max’+1,=(a×max’+1)×b+1 所以 - =max’-b≥0若经(N-2)次变换后所得的3个数为:b(m≥a≥b)且m不为(N-2)次变换后的最大值,即m<max’则此时所求得的最大值为:=(a×b+1)×m+1 此时 - =(1+ab)(max’-m)>0 所以此时不为最优解。
所以若使第k(1≤k≤N-1)次变换后所得值最大,必使(k-1)次变换后所得值最大(符合贪心策略的特点2),在进行第k次变换时,只需取在进行(k-1)次变换后所得数列中的两最小数p,q施加f操作:p←p×q+1,q←∞即可,因此此题可用贪心策略求解。讨论完毕。
在求min时,我们只需在每次变换的数列中找到两个最大数p,q施加作用f:p←p×q+1,q←-∞即可.原理同上。
在黑板上写了N个正整数作成的一个数列,进行如下操作:每一次擦去其中的两个数a和b,然后在数列中加入一个数a×b+1,如此下去直至黑板上剩下一个数,在所有按这种操作方式最后得到的数中,最大的max,最小的为min,则该数列的极差定义为M=max-min.希望大家能给出具体实现的算法(C/C++)
可以参照下面的提示来写:
把求解max与min的过程分开,着重探讨求max的问题。
讨论:假设经(N-3)次变换后得到3个数:a,b,max'(max’≥a≥b),其中max’是(N-2)个数经(N-3)次f变换后所得的最大值,此时有两种求值方式,设其所求值分别为 则有:=(a×b+1)×max’+1,=(a×max’+1)×b+1 所以 - =max’-b≥0若经(N-2)次变换后所得的3个数为:b(m≥a≥b)且m不为(N-2)次变换后的最大值,即m<max’则此时所求得的最大值为:=(a×b+1)×m+1 此时 - =(1+ab)(max’-m)>0 所以此时不为最优解。
所以若使第k(1≤k≤N-1)次变换后所得值最大,必使(k-1)次变换后所得值最大(符合贪心策略的特点2),在进行第k次变换时,只需取在进行(k-1)次变换后所得数列中的两最小数p,q施加f操作:p←p×q+1,q←∞即可,因此此题可用贪心策略求解。讨论完毕。
在求min时,我们只需在每次变换的数列中找到两个最大数p,q施加作用f:p←p×q+1,q←-∞即可.原理同上。
▼优质解答
答案和解析
假设经(N-3)次变换后得到3个数:a,b,max'(max’≥a≥b),其中max’是(N-2)个数经(N-3)次f变换后所得的最大值,此时有两种求值方式,设其所求值分别为 ,,则有:=(a×b+1)×max’+1,=(a×max’+1)×b+1 所以 - =max’-b≥0若经(N-2)次变换后所得的3个数为:m,a,b(m≥a≥b)且m不为(N-2)次变换后的最大值,即m<max’则此时所求得的最大值为:=(a×b+1)×m+1 此时 - =(1+ab)(max’-m)>0 所以此时不为最优解.
所以若使第k(1≤k≤N-1)次变换后所得值最大,必使(k-1)次变换后所得值最大(符合贪心策略的特点2),在进行第k次变换时,只需取在进行(k-1)次变换后所得数列中的两最小数p,q施加f操作:p←p×q+1,q←∞即可,因此此题可用贪心策略求解.讨论完毕.
在求min时,我们只需在每次变换的数列中找到两个最大数p,q施加作用f:p←p×q+1,q←-∞即可.原理同上
所以若使第k(1≤k≤N-1)次变换后所得值最大,必使(k-1)次变换后所得值最大(符合贪心策略的特点2),在进行第k次变换时,只需取在进行(k-1)次变换后所得数列中的两最小数p,q施加f操作:p←p×q+1,q←∞即可,因此此题可用贪心策略求解.讨论完毕.
在求min时,我们只需在每次变换的数列中找到两个最大数p,q施加作用f:p←p×q+1,q←-∞即可.原理同上
看了请教用贪心算法求解数列的极差M...的网友还看了以下:
北京时间2008年12月15日11时22分,我国太原卫星发射中心用长征四号乙运载火箭将“遥感卫星五 2020-04-08 …
北京时间2008年12月15日11时22分,我国太原卫星发射中心用长征四号乙运载火箭将“遥感卫星五 2020-04-08 …
北京时间2008年12月15日11时22分,我国太原卫星发射中心用长征四号乙运载火箭将“遥感卫星五 2020-04-08 …
北京时间2008年12月15日11时22分,我国太原卫星发射中心用长征四号乙运载火箭将“遥感卫星五 2020-04-08 …
明朝行政区名称的几个问题首先,明朝的首都是叫京师,京城在顺天府,那么顺天府肯定有个行政中心所在的城 2020-05-13 …
英语翻译并不在乎你的过去,只想关心现在的你.我并不在乎你的过去,只想关心现在的你.有没有复杂点的回 2020-05-14 …
月光下的蛙鸣阅读,好的我再给50分一直以来,我坚信有一种爱,能唤起个人内心潜在的力量,帮助你去战胜 2020-05-14 …
已知动圆(x-a)²+(y-b)²=r²(r>0)过点F(2,0)且 2020-05-17 …
一个质量分布均匀的圆饼如果在它的右侧挖去一个小圆.大圆的半径为R小圆的半径为r其中R=2r求剩余部 2020-06-19 …
有没有形容人在心不在的词语 2020-07-20 …