• <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>

            Why so serious? --[NKU]schindlerlee

            2010年1月7日星期四.sgu170

            2010年1月7日星期四.sgu170
            sgu170:
            簡單題。
            題意很簡單,就是求兩個只有+-組成的字符串,通過互換相鄰的兩個+-,是否能夠由第一個串,變成第二個,給出最短的變換步數。


            直覺的想法:廣搜
                這樣顯然有問題,字符串長5000,怎么搜復雜度都太高。

            猜想:貪心
            對于兩個字符串a,b,相同的兩個區間,如果a[s....t] 和
            b[s...t]所含的+-數量一樣多,那么由a[s...t] 到 b[s...t]
            的最小距離一定是其中減號或者加號的差的絕對值的和

            比如:
            -+-+-

            ---++
            最小步數就是0 + 1 + 2 = 3

            本題就直接求兩個串的符號差即可
             1 http://www.shnenglu.com/schindlerlee
             2 bool judge()
             3 {
             4   len1 = strlen(stra);
             5   len2 = strlen(strb);
             6   if(len1 != len2) return false;
             7   int i,res = 0;
             8   for(i = 0;i < len1;i++) {
             9       if(stra[i] == '-') { out1[top1++= i; }
            10       if(strb[i] == '-') { out2[top2++= i; }
            11   }
            12   if(top1 != top2) return false;
            13   for(i = 0;i < top1;i++) {
            14       res += abs(out1[i] - out2[i]);
            15   }
            16   printf("%d\n",res);
            17   return true;
            18 }
            19 
            20 


            posted on 2010-01-07 20:04 schindlerlee 閱讀(1070) 評論(2)  編輯 收藏 引用 所屬分類: 解題報告

            Feedback

            # re: 2010年1月7日星期四.sgu170 2010-01-09 22:29 喬寧博

            13 for(i = 0;i < top1;i++) {
            14 res += abs(out1[i] - out2[i]);
            15 }

            13行應該是 i<=top1 吧(no offense)  回復  更多評論   

            # re: 2010年1月7日星期四.sgu170 2010-01-09 23:11 XinLi

            @喬寧博
            是i<top1吧。
            我是out1[top1++]這樣壓棧的  回復  更多評論   

            久久精品视频一| 国内精品人妻无码久久久影院 | 国产精品久久久久久一区二区三区| 久久精品国产99久久久古代| 亚洲AV日韩AV天堂久久| 久久国产一区二区| 伊人久久大香线蕉无码麻豆| 久久精品黄AA片一区二区三区| 91久久精品视频| 亚洲中文字幕无码久久2017| 国产精品成人99久久久久| 新狼窝色AV性久久久久久| 精品久久久久一区二区三区| 久久精品国产亚洲AV高清热| 一本色综合久久| 国产精品嫩草影院久久| 久久人人爽人人爽人人AV东京热| 国产高潮久久免费观看| 97精品伊人久久大香线蕉app | 无码日韩人妻精品久久蜜桃| 久久久黄片| 欧美综合天天夜夜久久| 色婷婷久久综合中文久久蜜桃av| 久久久久亚洲AV无码专区桃色| 99久久人妻无码精品系列蜜桃 | 亚洲精品无码专区久久久| 精品国产综合区久久久久久| 久久91综合国产91久久精品| 亚洲AV无码久久精品成人| 色综合合久久天天给综看| 精品视频久久久久| 国产福利电影一区二区三区,免费久久久久久久精 | 久久久久国产亚洲AV麻豆| 曰曰摸天天摸人人看久久久| 亚洲熟妇无码另类久久久| 久久天天躁夜夜躁狠狠躁2022| 亚洲婷婷国产精品电影人久久| 亚洲欧洲中文日韩久久AV乱码| 无码人妻少妇久久中文字幕 | 精品久久久久久无码人妻蜜桃| 久久精品国产91久久综合麻豆自制 |