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

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

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

            pku1896 Code Formatting
            注意換行的時候,當(dāng);和{在一起的時候;的換行特殊考慮。。設(shè)置一個標(biāo)記事后換行就可以了。。

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

            pku1898 Entropy
            我不想說什么,POJ的SPJ真是詭異啊。。。。。我原來寫了個程序,自己寫了個測試程序測試了下,沒問題,一提交,WA,超級無奈之下,打了1M的表,提交上去,A。。。說下,不要隨機化,動態(tài)逼近即可。。先設(shè)置2個點,一頭一尾,肯定最小。然后試圖調(diào)整達到最大值;調(diào)整不了再插入點。就是這樣。。
              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
            無限迭代+并查集。復(fù)雜度?n2logn

            pku1901 Hypertransmission
            枚舉所有可能的半徑+離散化+樹狀數(shù)組統(tǒng)計

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

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

            posted on 2011-02-04 01:08 yzhw 閱讀(435) 評論(0)  編輯 收藏 引用 所屬分類: searchgraphnumbericdata struct

            <2011年9月>
            28293031123
            45678910
            11121314151617
            18192021222324
            2526272829301
            2345678

            導(dǎo)航

            統(tǒng)計

            公告

            統(tǒng)計系統(tǒng)

            留言簿(1)

            隨筆分類(227)

            文章分類(2)

            OJ

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            国产精品热久久毛片| 国产一级持黄大片99久久| 亚洲伊人久久成综合人影院 | 久久99精品久久久久久久不卡| 亚洲国产精品无码久久久蜜芽| 色综合久久久久无码专区 | 久久精品国产一区二区电影| 狠狠色综合久久久久尤物| 久久久久亚洲AV无码去区首| 亚洲日本va午夜中文字幕久久| 久久久久国产精品人妻| 人妻少妇久久中文字幕一区二区| 精品久久久久久久无码 | 性高湖久久久久久久久| 久久99国产综合精品免费| 久久国产精品久久精品国产| 丰满少妇人妻久久久久久4| 无码人妻久久一区二区三区蜜桃| 久久久久波多野结衣高潮| 国产麻豆精品久久一二三| 91久久香蕉国产熟女线看| 人妻少妇精品久久| 亚洲精品乱码久久久久久蜜桃不卡| 久久超碰97人人做人人爱| 国产日韩久久免费影院| 国内精品综合久久久40p| 久久精品国产影库免费看| 久久综合一区二区无码| 久久久免费精品re6| 久久亚洲国产精品五月天婷| 日产精品久久久久久久性色| 久久精品国产色蜜蜜麻豆 | 久久综合一区二区无码| 久久精品国产亚洲av麻豆色欲| 久久国产美女免费观看精品 | 久久久久波多野结衣高潮| 久久美女网站免费| 国产成年无码久久久免费| 国产成人久久久精品二区三区| 99精品国产综合久久久久五月天| 99久久国产热无码精品免费久久久久|