• <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 閱讀(435) 評論(0)  編輯 收藏 引用 所屬分類: search 、graphnumbericdata struct

            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            導航

            統計

            公告

            統計系統

            留言簿(1)

            隨筆分類(227)

            文章分類(2)

            OJ

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            很黄很污的网站久久mimi色| 亚洲国产精品久久久久婷婷软件| 一本大道加勒比久久综合| 久久久久精品国产亚洲AV无码| 久久免费国产精品| 久久精品18| 久久综合色之久久综合| 国产高潮国产高潮久久久91 | 99久久人妻无码精品系列| 久久久久久国产精品美女| 影音先锋女人AV鲁色资源网久久| 三级三级久久三级久久| 久久久这里有精品| 少妇精品久久久一区二区三区| 午夜久久久久久禁播电影| 人妻无码中文久久久久专区| 久久亚洲AV成人无码电影| 久久久久久久久久久久中文字幕| 久久久国产乱子伦精品作者| 国产精品久久久久无码av| 99久久精品国产一区二区| 国产日韩久久久精品影院首页| 久久精品国产99国产精品| 一本久久综合亚洲鲁鲁五月天| 亚洲国产成人久久笫一页| 一本久久a久久精品亚洲| 久久er99热精品一区二区| 91性高湖久久久久| 伊人久久一区二区三区无码| 亚洲中文字幕无码一久久区| 久久精品视频免费| 一本久道久久综合狠狠躁AV| 囯产精品久久久久久久久蜜桃| 国产V综合V亚洲欧美久久| 国产精品免费久久| 久久久久久久91精品免费观看 | 精品久久久久久无码专区 | 国产成人精品综合久久久久| 久久精品麻豆日日躁夜夜躁| 久久成人国产精品一区二区| 久久精品国产清自在天天线|