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

            <2025年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            導航

            統計

            公告

            統計系統

            留言簿(1)

            隨筆分類(227)

            文章分類(2)

            OJ

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            AV色综合久久天堂AV色综合在| 理论片午午伦夜理片久久| 亚洲人成无码久久电影网站| 久久久这里有精品中文字幕| 色综合久久88色综合天天 | 2021国内精品久久久久久影院| 嫩草伊人久久精品少妇AV| 久久综合久久综合九色| 欧美成a人片免费看久久| 人妻精品久久久久中文字幕69| 中文精品久久久久国产网址| 久久久久波多野结衣高潮| 久久国产精品-久久精品| 2021最新久久久视精品爱| 国产一区二区精品久久凹凸| 无码专区久久综合久中文字幕| 国内精品久久久久久久涩爱 | 精品国际久久久久999波多野| 久久综合丁香激情久久| 日韩AV无码久久一区二区| 久久99热这里只有精品国产| 九九精品99久久久香蕉| 热久久最新网站获取| 久久久久亚洲AV成人网| 国产精品久久久久久吹潮| 一本久久免费视频| 亚洲精品综合久久| 久久99精品久久久久久不卡 | 国产99久久久国产精品~~牛| 国产精品美女久久福利网站| 久久99精品九九九久久婷婷| 91精品国产色综久久 | 久久福利片| 久久香蕉国产线看观看乱码| 国产精品99久久免费观看| 久久精品www人人爽人人| 久久婷婷五月综合色高清| 国内精品久久国产大陆| jizzjizz国产精品久久| 国产欧美一区二区久久| 国产成人香蕉久久久久|