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

            pku1894-1903 Northeastern Europe 2003 解題報告

            Solved ID Title Ratio(AC/att)
            Yes Problem A Alternative Scale of Notation 50.0%(2/4) Submit
            Problem B Bring Them There 0.0%(0/4) Submit
            Yes Problem C Code Formatting 100.0%(2/2) Submit
            Yes Problem D Data Mining 100.0%(3/3) Submit
            Problem E Entropy 0.0%(0/0) Submit
            Yes Problem F Farmer Bill's Problem 66.66%(2/3) Submit
            Problem G Game 0.0%(0/0) Submit
            Yes Problem H Hypertransmission 33.33%(3/9) Submit
            Problem I Illumination 0.0%(0/0) Submit
            Yes Problem J Jurassic Remains 66.66%(2/3) Submit
            Yes Problem K 40.0%(2/5) Submit

            發現現在做比賽越來越窩囊了。。。一點狀態沒有
            還是流水賬一下
            pku1894 Alternative Scale of Notation
            記得秦九昭算法的思想?不說了,不斷地提取系數

            pku1895 Bring Them There
            看輸出以為是搜索,結果果斷的TLE。。CW神牛說了一種分層+二分網絡流方案,覺得可以。改天寫好補上

            pku1896 Code Formatting
            注意換行的時候,當;和{在一起的時候;的換行特殊考慮。。設置一個標記事后換行就可以了。。

            PKU1897 Data Mining
            很簡單的一題,枚舉就可以。注意細節,總長度為(n-1)*newsizeB+sizeB
            陰險的數據?當n=1?

            pku1898 Entropy
            我不想說什么,POJ的SPJ真是詭異啊。。。。。我原來寫了個程序,自己寫了個測試程序測試了下,沒問題,一提交,WA,超級無奈之下,打了1M的表,提交上去,A。。。說下,不要隨機化,動態逼近即可。。先設置2個點,一頭一尾,肯定最小。然后試圖調整達到最大值;調整不了再插入點。就是這樣。。
              1 # include <cstdio>
              2    # include <cmath>
              3    # include <vector>
              4    # define N 1000
              5    using namespace std;
              6    # define abs(a) ((a)<0?-(a):(a))
              7    int num,now;
              8    int data[1001];
              9    vector<int> ans;
             10    bool upper()
             11    {
             12       for(int i=0;i<ans.size();i++)
             13         for(int j=i+1;j<ans.size();j++)
             14           if(now-data[ans[i]]-data[ans[j]]+data[ans[i]+1]+data[ans[j]-1]>now&&now-data[ans[i]]-data[ans[j]]+data[ans[i]+1]+data[ans[j]-1]<=num)
             15           {
             16             now=now-data[ans[i]]-data[ans[j]]+data[ans[i]+1]+data[ans[j]-1];
             17             ans[i]++;
             18             ans[j]--;
             19             return true;
             20           }

             21           else if(ans[i]>1&&ans[j]<1000&&now-data[ans[i]]-data[ans[j]]+data[ans[i]-1]+data[ans[j]+1]>now&&now-data[ans[i]]-data[ans[j]]+data[ans[i]-1]+data[ans[j]+1]<=num)
             22            {
             23             now=now-data[ans[i]]-data[ans[j]]+data[ans[i]-1]+data[ans[j]+1];
             24             ans[i]--;
             25             ans[j]++;
             26             return true;
             27           }

             28       return false;
             29    }
             
             30    bool lower()
             31    {
             32       for(int i=0;i<ans.size();i++)
             33         for(int j=i+1;j<ans.size();j++)
             34           if(now-data[ans[i]]-data[ans[j]]+data[ans[i]+1]+data[ans[j]-1]<now)
             35           {
             36             now=now-data[ans[i]]-data[ans[j]]+data[ans[i]+1]+data[ans[j]-1];
             37             ans[i]++;
             38             ans[j]--;
             39             return true;
             40           }

             41           else if(ans[i]>1&&ans[j]<1000&&now-data[ans[i]]-data[ans[j]]+data[ans[i]-1]+data[ans[j]+1]<now)
             42            {
             43             now=now-data[ans[i]]-data[ans[j]]+data[ans[i]-1]+data[ans[j]+1];
             44             ans[i]--;
             45             ans[j]++;
             46             return true;
             47           }

             48       return false;
             49    }
             
             50    void spilt()
             51    {
             52        for(int i=0;i<ans.size();i++)
             53          if(ans[i]>1)
             54          {
             55              now-=data[ans[i]];
             56              now+=data[ans[i]/2];
             57              now+=data[ans[i]-ans[i]/2];
             58              ans.push_back(ans[i]/2);
             59              ans[i]=ans[i]-ans[i]/2;
             60              return;
             61          }
               
             62    }

             63    int cal()
             64    {
             65        int tmp=0;
             66        for(int i=0;i<ans.size();i++)
             67           tmp+=data[ans[i]];
             68           return tmp;
             69           
             70    }

             71    int main()
             72    {
             73        //scanf("%lf",&num);
             74        for(int i=1;i<=1000;i++)
             75          data[i]=-i*log2(i/1000.0)+1e-6;
             76        double tnum;
             77        scanf("%lf",&tnum);
             78        num=tnum*1000+1e-6;
             79        if(num==0)
             80        {
             81          printf("\n");
             82          return 0;
             83        }

             84        ans.clear();
             85        now=data[1]+data[999];
             86        ans.push_back(1);
             87        ans.push_back(999);
             88        while(abs(num-now)>1)
             89        {
             90             while(num>now&upper());
             91             if(num>now)
             92             {
             93                  spilt();
             94                  while(now>num) lower();
             95             }

             96        }

             97        char map[]={"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789. "};
             98        int p=0;
             99        for(int i=0;i<ans.size();i++)
            100        {
            101            while(ans[i]--)
            102              putchar(map[p]);
            103            p++;
            104        }

            105        putchar('\n');
            106        return 0;
            107}

            pku1899 Farmer Bill's Problem
            無限迭代+并查集。復雜度?n2logn

            pku1901 Hypertransmission
            枚舉所有可能的半徑+離散化+樹狀數組統計

            pku1903 Jurassic Remains
            1e8的搜索+位運算,真是蛋疼,搜索無敵啊。。

            pku1904 King's Quest
            二分匹配的好題,在延伸獨立軌時的特點。最終轉化為求SSG

            posted on 2011-02-04 01:08 yzhw 閱讀(455) 評論(0)  編輯 收藏 引用 所屬分類: search 、graph 、numberic 、data struct

            <2012年2月>
            2930311234
            567891011
            12131415161718
            19202122232425
            26272829123
            45678910

            導航

            統計

            公告

            統計系統

            留言簿(1)

            隨筆分類(227)

            文章分類(2)

            OJ

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            亚洲成人精品久久| 久久天天躁狠狠躁夜夜躁2014 | 久久亚洲中文字幕精品一区| 丁香五月网久久综合| 无码AV波多野结衣久久| 亚洲精品美女久久777777| 国产aⅴ激情无码久久| 一本久久a久久精品vr综合| 亚洲综合伊人久久大杳蕉| 77777亚洲午夜久久多人| 欧美黑人激情性久久| 国产精品一区二区久久不卡| www.久久精品| 国内精品伊人久久久久网站| 精品国产91久久久久久久a| 久久综合精品国产一区二区三区 | 久久久久人妻一区精品色| 久久久噜噜噜久久熟女AA片| 少妇久久久久久久久久| 四虎国产永久免费久久| 久久久久亚洲AV综合波多野结衣 | 中文字幕乱码人妻无码久久| 国产成人久久精品一区二区三区 | 欧美大香线蕉线伊人久久| 婷婷综合久久狠狠色99h| 色综合久久中文色婷婷| 国内精品伊人久久久久妇| 日产精品久久久久久久| 亚洲国产精品人久久| 久久综合视频网| 91久久成人免费| 久久久久亚洲AV成人网人人网站| 国产精品久久久久影院嫩草 | 久久精品国产亚洲AV麻豆网站| 精品久久人人妻人人做精品| 久久久国产99久久国产一| 亚洲国产精品久久66| 97精品依人久久久大香线蕉97| 国产精品永久久久久久久久久| 久久狠狠爱亚洲综合影院| 久久久精品国产Sm最大网站|