• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 21,  comments - 9,  trackbacks - 0

            給出一棵二分搜索樹,再給一個節點編號n,求以這個節點為根節點的子樹葉子節點的最大值與最小值。若n是奇數,那么他必然是個葉子節點,最大最小都是他自己。否則求n所在的層數,他的層數就是他的因子中2的個數(規律),轉化為求n的因子中2的個數。而2的個數取決于n的二進制表示中最后一個1所處的位置i,因為之前的某幾個1,假設處于j(j>i),那么n可以表示為2^j+2^i+2^x(x>i且個數未定)=2^i*(1+2^(j-i)+2^(x-i)),看見米有,n必須有i個因子2.求出i的值后,即層數,可得n的左右各有num=2^i-1個兒孫(女),不信請看圖,概不解釋。那么最小值就是n-num,最大值就是n+num.那馬怎么求num呢,這時就可以請出神奇的位運算了(以速度"嗖嗖嗖"的快而揚名ACM界),首先是確定二進制n后綴連續0的個數,這樣想:怎么取出這i個0呢?其實不必考慮這個掣肘的問題,咱們直接跑到結果上考慮,就是求2^i-1,你花仙米有,這是個等差數列的前n項和:2^0+2^1+2^2+……+2^(i-1).那么這又是個什么形式呢,這就是二進制只有連續i個1的(其余都是前導0)數的十進制表示形式,OK,好辦了,利用系統自動轉換功能,咱們只需把這i個1羅列出來即可:把n的后i個0變成1,可采取如下形式n^(n|n-1),稍微解釋下,n|n-1是將后i個0變成1,把第i+1個1變成0,然后和n抑或一下,得到什么?哈,就是2^i-1,即i個1的十進制形式,代碼就不放了,上面明白了實現很簡單的!
            那啥,轉載務必注明:Pzjay原創呃!

            本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/shifuwawa/archive/2010/01/07/5153446.aspx

            以下是我根據上面的描述寫出來的代碼,一次AC,0MS
            #include<iostream>
            using namespace std;
            int main()
            {
             int n;
             cin>>n;
             while(n--)
             {
              int k;
              cin>>k;
              if(k%2!=0)
              {
               cout<<k<<" "<<k<<endl;
               continue;
              }
              int num=k^(k|k-1);
              cout<<k-num<<" "<<k+num<<endl;
             }
             return 0;
            }

            posted on 2010-08-19 13:13 崔佳星 閱讀(1087) 評論(0)  編輯 收藏 引用 所屬分類: POJ
            <2010年8月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            国产精品久久久久蜜芽| 日产精品久久久久久久| 亚洲国产精品人久久| 久久夜色tv网站| 人妻无码精品久久亚瑟影视| 18岁日韩内射颜射午夜久久成人| 亚洲精品午夜国产VA久久成人| 丰满少妇高潮惨叫久久久| 久久久精品午夜免费不卡| 伊人 久久 精品| 97精品国产91久久久久久| 香蕉99久久国产综合精品宅男自 | 久久精品aⅴ无码中文字字幕重口 久久精品a亚洲国产v高清不卡 | 波多野结衣中文字幕久久| 蜜桃麻豆www久久| 精品久久人人爽天天玩人人妻| 国产午夜福利精品久久2021| 亚洲美日韩Av中文字幕无码久久久妻妇| 久久久久波多野结衣高潮| 国产午夜精品久久久久九九| 久久综合给合久久狠狠狠97色69 | 亚洲国产精品无码成人片久久| 亚洲一区二区三区日本久久九| 色综合久久久久综合体桃花网 | 中文字幕精品久久久久人妻| 狠狠干狠狠久久| 久久精品亚洲AV久久久无码| 国内精品久久久久久久影视麻豆| 无码AV波多野结衣久久| 青青草原综合久久大伊人| 伊人久久大香线蕉综合网站| 久久国产午夜精品一区二区三区| 99久久国产热无码精品免费| 亚洲中文字幕无码一久久区| 久久久久久国产精品美女| 久久久亚洲AV波多野结衣| 久久久SS麻豆欧美国产日韩| 久久精品视频一| 久久99精品久久久久久水蜜桃| 国产精品欧美亚洲韩国日本久久| 青青国产成人久久91网|