• <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ò)流方案,覺得可以。改天寫好補(bǔ)上

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

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

            pku1898 Entropy
            我不想說什么,POJ的SPJ真是詭異啊。。。。。我原來寫了個程序,自己寫了個測試程序測試了下,沒問題,一提交,WA,超級無奈之下,打了1M的表,提交上去,A。。。說下,不要隨機(jī)化,動態(tài)逼近即可。。先設(shè)置2個點,一頭一尾,肯定最小。然后試圖調(diào)整達(dá)到最大值;調(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 閱讀(448) 評論(0)  編輯 收藏 引用 所屬分類: searchgraphnumbericdata struct

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

            導(dǎo)航

            統(tǒng)計

            公告

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

            留言簿(1)

            隨筆分類(227)

            文章分類(2)

            OJ

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            日韩久久久久中文字幕人妻| 丰满少妇人妻久久久久久| 99久久夜色精品国产网站| 久久精品亚洲一区二区三区浴池| 亚洲成色999久久网站| 亚洲欧美精品一区久久中文字幕| 久久久久99精品成人片欧美| 久久久精品免费国产四虎| 天天综合久久一二三区| 久久AV高清无码| 久久免费视频6| 久久99国产综合精品免费| 久久精品中文字幕第23页| 久久人人爽人人爽人人片av高请 | 久久久精品人妻一区二区三区蜜桃| 久久这里只精品国产99热| 国产精品亚洲综合久久| 午夜精品久久久久9999高清| 久久超碰97人人做人人爱| 美女久久久久久| 久久国产免费观看精品| 久久AV高潮AV无码AV| 2020最新久久久视精品爱| 亚洲国产精品18久久久久久| 久久精品国产精品亜洲毛片| 久久综合香蕉国产蜜臀AV| 久久亚洲国产成人影院网站| 99久久国语露脸精品国产| 久久精品桃花综合| 久久精品中文字幕一区| 久久精品免费一区二区三区| 中文字幕无码免费久久| 性高朝久久久久久久久久| 91精品国产91久久久久久蜜臀| 久久影院综合精品| 久久婷婷色综合一区二区| 久久久久黑人强伦姧人妻| 老司机国内精品久久久久| 久久精品国产久精国产思思| 中文精品久久久久人妻不卡| 亚洲国产成人久久精品99|