由0和1構(gòu)成的蟲子

      有一條蟲子,它的整個身體由 n 節(jié)構(gòu)成,每一節(jié)要么是有瑕疵的 1 ,要么是沒有瑕疵的 0 ,因而整個蟲子的身體結(jié)構(gòu)就可以用一個 n 位 01 串來表示。你的目標是把整個蟲子變成 000...00 的完美形式。每一次,你可以砍掉蟲子最右側(cè)的一節(jié),同時蟲子會在最左側(cè)長出新的一節(jié),以保持蟲子的總長度不變。如果你砍掉的是一個 1 ,那么你可以指定蟲子在最左側(cè)長出的是 1 還是 0 ;但如果你砍掉的是一個 0 ,那么你無法控制蟲子會在最左側(cè)長出什么——它可能會長出 0 ,也可能會長出 1 ,因而你不得不假定,概率總是會和你做對,上天會竭盡全力地阻撓你。我們的問題是:不管蟲子的初始狀態(tài)是什么,你總能保證在有限步之內(nèi)讓蟲子變成 000...00 嗎?
      注意,這個問題可能沒有你想的那么簡單。顯然,我們必須得把一些 1 變成 0 ,這樣才能讓 1 的數(shù)目逐漸減少并最終消失。但是,如果只是簡單地每次都把 1 變成 0 ,最終也不見得就一定能取勝。比如,如果這條蟲子是 101 ,那么去掉最右邊的 1 并選擇在左邊長出一個 0 ,蟲子會變成 010 ;再把 010 右邊的 0 去掉后,如果不巧左邊長出的是 1 ,那么整條蟲子又會回到 101 的狀態(tài)。如此反復,將永遠也不能得到 000 。而更加聰明的方法則是先把 101 變成 110 ,下一步蟲子將會變成 111 或者 011 ,不管是哪種情況,接下來只需要逐個把 1 變成 0 就能獲勝了。運用恰當?shù)牟呗圆拍茏叩浇K點,這無疑讓問題變得更加有趣。
      不管蟲子一開始是什么樣子的,我們總能夠在有限步之內(nèi)獲勝。下面是 Peter Winkler 給出的證明。讓我們把連續(xù) n 次操作視為一輪操作,因而完成一輪操作正好讓蟲子的整個身體更新一次。于是,每一輪操作實際上相當于是從右到左依次考慮蟲子的每一位,每遇到一個 1 時你都可以選擇是否把它修改成 0 ,每遇到一個 0 時它都會隨機地被修改成 1 。我們一輪一輪地改造蟲子的身體,并且每一輪都采取這樣的策略:從最右端開始,每次遇到 1 都把它改成 0 ,直到第一次有 0 被改成 1 ;在此之后,不管新遇到的 0 變沒變,都保留所有的 1 不變。如果這一輪下來后,沒有 0 被改成 1 ,那么我們將會把所有的 1 都替換成 0 ,從而得到 000...00 的形式,直接獲得勝利;如果途中有 0 被改成了 1 ,那么整個蟲子作為一個二進制數(shù)將會嚴格增加。每經(jīng)過一輪后,只要蟲子沒有變成 000...00 ,整個二進制數(shù)都會變得更大,最終將會變成 111...11 的形式,此時再也不會有 0 變成 1 了,于是按照我們的策略,在下一輪中,所有的 1 都會變成 0 ,從而獲得勝利。
      北大青鳥網(wǎng)上報名
      北大青鳥招生簡章
      主站蜘蛛池模板: 精品91一区二区三区| 一区国产传媒国产精品| 亚洲sm另类一区二区三区| 久久综合精品国产一区二区三区| 亚洲福利视频一区| 在线视频一区二区三区三区不卡 | 91一区二区三区| 国产精品99精品一区二区三区| 无码国产伦一区二区三区视频| 一区视频免费观看| 在线视频亚洲一区| 国产午夜一区二区在线观看| 麻豆AV无码精品一区二区| 91视频一区二区三区| tom影院亚洲国产一区二区| 久久高清一区二区三区| 无码人妻精品一区二区| 久久久久人妻一区精品色| 精品无码一区在线观看| 国产精品久久一区二区三区| 国产精品自拍一区| 亚洲国产一区二区三区在线观看| 成人精品一区二区户外勾搭野战| 亚洲综合一区国产精品| 蜜臀AV无码一区二区三区| 国产一区二区三区免费视频| 国产激情一区二区三区在线观看 | 久久久精品人妻一区二区三区| 国产精华液一区二区区别大吗| 狠狠色成人一区二区三区| 无码精品人妻一区二区三区免费看| 亚洲国产老鸭窝一区二区三区| 无码aⅴ精品一区二区三区浪潮| 色偷偷av一区二区三区| 亚洲午夜一区二区三区| 日韩精品一区二区三区毛片| 一区二区三区免费精品视频| 中文字幕无码一区二区免费| 亚洲av无码一区二区三区乱子伦| 国产香蕉一区二区精品视频| 国产一区二区三区亚洲综合|