早教吧作业答案频道 -->数学-->
请教用贪心算法求解数列的极差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...的网友还看了以下:
书架上有两层书,上层有140本书,拿出上层的七分之一放入下层,则上下两层书的本书一样多,原来下层多 2020-05-13 …
就剩一个月的时间了英:把初一上下册的单词听写(错了的一个改五遍)预习初二上册前五个单元数:初一下册 2020-06-13 …
1个人1天要喝1瓶水,现在3名勘探队员还需呆在山上完成一个星期的任务(7天),但他们只剩下6瓶水. 2020-07-06 …
在凸透镜成像实验中,当光屏上出现一放大的像时,若在透镜中间贴一张不透光的小纸片,剩下上下两部分透光 2020-07-14 …
一书架有两层书,上层有书213本,下层有书128本,如果上下层层都拿出相等的本数,这时上层剩下的本 2020-07-19 …
填关于“龙”的成语(小学语文试题),注意上下成语之间的呼应关系.龙*\x05*\x05**龙*** 2020-07-24 …
照例给成语对对子(上下成语意义相近或相同)首战告捷()偷天换日花()木()改邪归正改恶()量体裁衣( 2020-11-22 …
练习与测试苏教版6年级数学54页全部答案学校原有大米4分之3吨,前3天吃8分之1吨,剩下2天吃完.剩 2020-11-29 …
读下列材料完成材料Ⅰ:天荒坪电站位于浙江安吉,是亚洲最大的抽水蓄能电站。该电站分为上下水库,晚上利用 2020-11-30 …
张师傅加工一批零件,第一周完成20%,第2周加工了520个.还剩400个没加工,这批零件有多少个?一 2020-12-26 …