数学
文章平均质量分 51
Barely丶
这个作者很懒,什么都没留下…
展开
-
UVA12545 Bits Equalizer
用cnt记录最终的变换次数,cnt1为0-1对的对数,cnt2为1-0的对数,cnt3为?-1与?-0对数之和,cnt4是S串的1的个数,cnt5是T串的1的个数. 那么显然,当cnt4>cnt5的时候是不可能变换成功的,因为S串中1的个数只增不减.然后....就是数学了.当cnt1>=cnt2的时候(即0-1对多于1-0对),我们先将1-0对与0-1对调换位置,调换次数为cnt2,接着考虑剩余原创 2016-08-31 16:21:03 · 275 阅读 · 0 评论 -
UVA1611 Crane
给定一个1~n的排列,每次可以交换一个偶数长度区间的前后两半,请在,9^6的操作次数内完成这个序列的升序排序. 可以发现任何一个数的归位都可以在至多2次交换内完成,第一次,我们假设我们要将下标为i的数移到下标位t的位置,那么第一次我们将i移动到t/2+1的位置(如果2*i>=t那么这一步操作可以省略),第二次,我们就可以直接将i移动至t,只需要交换(2*i-t+1,t)这个区间就可以完成归位.下原创 2016-09-01 22:10:42 · 527 阅读 · 0 评论 -
算法导论(第三版)习题解答9.1-1(找第二小的元素)
我们做出如下断言:无论采用何种比较算法,第二小的元素在我们找寻最小元素的过程中一定与最小元素发生过比较。 这是显然的,因为第二小元素在与除最小元素外的其他任何元素进行比较时一定都会胜出(被选中进入下一轮比较),若最小元素不与第二小元素进行比较则无法确定二者之间的大小关系,从而无法得出最小值。 因而,要想使我们找到第二小的元素使用的比较次数尽量少,我们需要使找寻最小元素的过程中与最小元素发生过比原创 2016-12-06 23:56:03 · 2684 阅读 · 2 评论