查看: 1258|回復: 5
打印 上一主題 下一主題

[解決] [求救] poj 3320

[複製鏈接]
  • TA的每日心情
    開心
    2015-4-12 10:09
  • 簽到天數: 137 天

    [LV.7]常住居民III

    142

    主題

    686

    帖子

    3559

    積分

    邁向天堂

    蘇多門

    Rank: 8Rank: 8

    積分
    3559

    新手達陣台南一中資訊社程式設計達人 - 2014

    跳轉到指定樓層
    樓主
    發表於 2014-8-12 18:10:03 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

    趕快加入我們來參與討論吧!

    您需要 登錄 才可以下載或查看,沒有帳號?加入我們

    x
    本帖最後由 domen111 於 2014-8-12 20:23 編輯

    爬行法的題目,這題用map解應該沒錯啊! O(nlgn)為什麼會TLE?

    [C++] 純文本查看 復制代碼
    #include<iostream>
    #include<map>
    #include<climits>
    #include<algorithm>
    #include<set>
    using namespace std;
    int a[1000010];
    int main()
    {
            int p;
            cin>>p;
            for(int i=0;i<p;i++)
                    cin>>a[i];
    
            set<int> couse;
            for(int i=0;i<p;i++)
                    couse.insert(a[i]);
            int cc=couse.size(); //couse count
    
            map<int,int> c;
            int s=0,t=0;
            int ans=INT_MAX;
            while(t<=p)
            {
                    if(c.size()>=cc)
                    {
                            ans=min(ans,t-s);
                            c[a[s]]--;
                            if(c[a[s]]==0)
                                    c.erase(a[s]);
                            s++;
                    }
                    else
                    {
                            c[a[t]]++;
                            t++;
                    }
            }
            cout<<ans<<endl;
    }
    

    點評

    jd3
    剛好讓我發現我漏寫這題owo  發表於 2014-8-12 21:17
    蘇多門 domen111
    My Web: https://sites.google.com/site/domenprg/
    回復

    使用道具 檢舉

  • TA的每日心情
    慵懶
    2015-4-10 14:18
  • 簽到天數: 78 天

    [LV.6]常住居民II

    176

    主題

    612

    帖子

    3959

    積分

    管理員

    Rank: 9Rank: 9Rank: 9

    積分
    3959

    台南一中資訊社新手達陣程式設計達人 - 2014

    頭香
    發表於 2014-8-12 19:08:19 來自手機 | 只看該作者
    先把cin/cout改掉再討論。都跟你們說io速度差很多都不聽
    回復 支持 反對

    使用道具 檢舉

  • TA的每日心情
    開心
    2014-8-14 16:02
  • 簽到天數: 1 天

    [LV.1]初來乍到

    12

    主題

    138

    帖子

    863

    積分

    高級會員

    Rank: 4

    積分
    863

    台南一中資訊社新手達陣

    3#
    發表於 2014-8-12 19:12:38 | 只看該作者
    速度可以差到一倍以上...
    回復 支持 反對

    使用道具 檢舉

  • TA的每日心情
    鬱悶
    2015-2-10 21:23
  • 簽到天數: 1 天

    [LV.1]初來乍到

    12

    主題

    69

    帖子

    779

    積分

    高級會員

    Rank: 4

    積分
    779

    台南一中資訊社

    4#
    發表於 2014-8-12 21:52:32 | 只看該作者
    或者將 ios::sync_with_stdio(false); 加在 main 的第一行。

    點評

    我記得有的題目就算這樣還是不會過  發表於 2014-8-13 11:49
    回復 支持 反對

    使用道具 檢舉

    您需要登錄後才可以回帖 登入 | 加入我們

    本版積分規則

    快速回覆 返回頂部 返回列表