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

            The Sun Also Rises

            Algorithm, Mathematica, 計算機科學, C++, photography, GNU/Linux的討論空間

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              73 隨筆 :: 6 文章 :: 169 評論 :: 0 Trackbacks
            2894        Arrange the Problem Set     
             
            2895       Cache       Recommended
            首先我們用1000大的cache,這樣次數最少。
            然后我們試著用更小的cache來達到同樣的效果。
            注意到對兩個地址i和j,如果他們的request區間有overlap,那么所滿足i % n == j % n的n就不能用作cache大小。
            然后我們就把所有不合法的cache size標記,尋找最小的~
            注意n == 0的時候輸出0,-_-bbbbbbbb
            CODE


            2896       Common Factor       Recommended
            在一個素數域上考慮這個問題,那么他們的Common Factor可以通過GCD求出來。
            然后測試一些大素數,如果都通過了就可以認為他們存在Common Factor了。

            2897       Desmond's Ambition    Recommended
            首先求出所有的橋,如果將那些block視為一個點那么圖就成為一棵樹。
            接下來分為4部分求:(建議自己想想,這個不太容易描述)
            1. 每塊內部的距離,暴力。
            2. 每個橋被使用的次數,其實就是橋左邊的頂點數*橋右邊的頂點數,在DFS的時候順便計算即可,參考Bridges
            3. 每塊內部的點對的最短路被經過的次數,對(u, v)點對來說,就是f(u)*f(v)*dist(u,v)
            f(u)定義為,列舉出所有一個頂點在u上的橋,在橋的令一端的頂點個數和。
            4. 每塊內部點通過某個點和外界聯系的距離和。f(u) * sum_dist(u),sum_dist(u)是u到同一塊內的其他所有點的最短距離和。
            CODE

                
            2898       Greedy Grave Robber  
            24個寶藏,搜12個,把他們的機關觸發情況存入hash or map,然后搜右邊12個,查表。
            很經典的想法了。
               
            2899       Hangzhou Tour     
            狀態f[st][i][j], st表示已訪問的頂點,i表示目前位置,j表示自行車位置,dp。
            注意f[st][i][j]只可能轉移到>=st的狀態。有序性存在。
            對相同的st的那些狀態使用dijstra or SPFA.

            2900       Icecream      
            dp, f[i][j][k] = 使用前i個icecream, 組成長度為j, 最后一個元素值為k的方案數。
            復雜度2000 * 2000 * 100...10s夠了。

            2901       MV Maker    Recommended
            f[p][a][b] = 長度為2^p + 1, 第一個是a, 最后一個是b的最大value.
            然后拼接~,復雜度O(n^3*logL)
            CODE

                 
            2902       Ten drops     
            模擬,注意這句
            Of cause, a left click in grid without blob should be ignored because it's meaningless.


            posted on 2008-01-27 12:22 FreePeter 閱讀(1836) 評論(18)  編輯 收藏 引用 所屬分類: ACM/ICPC

            評論

            # re: ZOJ Monthly, January 2008解題報告 2008-03-16 20:30 訪客
            那個啥,2900開2000*2000*100的數組貌似超內存了  回復  更多評論
              

            # re: ZOJ Monthly, January 2008解題報告[未登錄] 2008-03-16 20:38 FreePeter
            @訪客
            滾存咯。  回復  更多評論
              

            # re: ZOJ Monthly, January 2008解題報告 2009-04-02 09:44 yujulong
            2000*2000*100怎么過不了。。  回復  更多評論
              

            # re: ZOJ Monthly, January 2008解題報告 2009-04-02 10:06 FreePeter
            @yujulong
            ?是過不了還是過的了?  回復  更多評論
              

            # re: ZOJ Monthly, January 2008解題報告 2009-04-02 10:58 yujulong
            @FreePeter
            TLe...顯然過不了。。
            還不用滾動。。  回復  更多評論
              

            # re: ZOJ Monthly, January 2008解題報告 2009-04-02 11:03 FreePeter
            @yujulong
            這。。。一定是常數寫大了。。。你看我就是這么過的。。。@_@  回復  更多評論
              

            # re: ZOJ Monthly, January 2008解題報告 2009-04-02 11:05 yujulong
            以下我的代碼。。
            感覺常數應該不大。。
            #include<iostream>
            using namespace std;
            int const Inf=1e9;
            int dp[2001][101];
            int a[ 1001 ];
            int main()
            {
            int n,k,p,m,ans;
            int tp1,tp2;
            int z;
            while( scanf("%d%d%d%d",&n,&k,&p,&m) != EOF )
            {
            z=0;
            for(int i=1;i<=n;i++)
            {
            scanf("%d",&a[i]);
            if( a[i] > z )z =a[i];
            }
            if( p < 0 ){printf("%d\n",n);continue;}
            memset(dp,0,sizeof(dp) );
            dp[1][ a[1] ]=1;
            for(int i=2;i<=n;i++)
            {
            for(int j=i-1;j>=1;j--)
            {
            tp1 = a[i]-p;
            if( tp1 < 0 )tp1=0;
            tp2 = a[i]+p;
            if( tp2 > z )tp2=z;
            for(;tp1<=tp2;tp1++)
            {
            dp[j+1][a[i]] += dp[ j ][tp1];
            if( dp[j+1][a[i]] > Inf )dp[j+1][a[i]]%=m;
            }
            }
            dp[1][a[i]]++;
            }
            ans=0;
            if( k == 0 )k++;
            for(int i=k;i<=n;i++)
            for(int j=0;j<=z;j++)
            {
            ans += dp[i][j];
            if( ans > Inf )ans%=m;
            }
            printf("%d\n",ans%m);


            }
            }  回復  更多評論
              

            # re: ZOJ Monthly, January 2008解題報告 2009-04-02 11:17 yujulong
            怎么說。。
            常數應該小于1吧。。  回復  更多評論
              

            # re: ZOJ Monthly, January 2008解題報告 2009-04-02 11:21 yujulong
            發現錯誤了。。  回復  更多評論
              

            # re: ZOJ Monthly, January 2008解題報告 2009-04-02 11:25 yujulong
            樓主給點反映。。
            TLE。。
              回復  更多評論
              

            # re: ZOJ Monthly, January 2008解題報告 2009-04-02 11:52 FreePeter
            @yujulong
            這。。。您不要這么激動么。。。話說我都retired好久了。。。@_@,這些功力早就退化了。。。-______-b
              回復  更多評論
              

            # re: ZOJ Monthly, January 2008解題報告 2009-04-02 11:57 yujulong
            不好意思是有點激動。。
            主要已經優化很多了。。
            你可不可以把你以前AC的在交一遍試試,如果AC我在想想。。
            不能的話我聯系ZJU的人。。  回復  更多評論
              

            # re: ZOJ Monthly, January 2008解題報告 2009-04-02 12:03 FreePeter
            @yujulong
            你給我發個郵件吧 wenlei [dot] xie [at] gmail [dot] com
            我自己地方已經沒有code了,我去問問我隊友還有沒有。。。  回復  更多評論
              

            # re: ZOJ Monthly, January 2008解題報告 2009-04-02 12:10 yujulong
            好了。。
            你是不是傳說中的peter大牛?
              回復  更多評論
              

            # re: ZOJ Monthly, January 2008解題報告 2009-04-02 12:14 FreePeter
            @yujulong
            呃。。。是有人這么叫我。。。不過為什么是傳說中的。。。我汗。。。@_@  回復  更多評論
              

            # re: ZOJ Monthly, January 2008解題報告 2009-04-02 13:58 yujulong
            怎么樣?  回復  更多評論
              

            # re: ZOJ Monthly, January 2008解題報告 2009-04-02 21:51 yujulong
            我的代碼你覺得貌似能過嗎?  回復  更多評論
              

            # re: ZOJ Monthly, January 2008解題報告 2009-04-03 10:56 yujulong
            過了。。。  回復  更多評論
              

            Creative Commons License
            This site is licensed under a Creative Commons Attribution-Share Alike 2.5 China Mainland License. 本站采用創作共用版權協議, 要求署名、相同方式共享. 轉載本站內容必須也遵循“署名-相同方式共享”的創作共用協議. This site is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
            久久国产成人午夜aⅴ影院| 国产精品久久久久久久久鸭 | 精品综合久久久久久97超人| 久久国产乱子精品免费女| 久久久久国色AV免费观看| 性色欲网站人妻丰满中文久久不卡| 久久国产精品一国产精品金尊| 久久久久久国产精品免费免费| 久久精品人人做人人爽97 | 亚洲欧美一级久久精品| 久久国产免费观看精品3| 人妻无码精品久久亚瑟影视| 97r久久精品国产99国产精| 午夜精品久久久久久影视777| 久久99精品国产一区二区三区| 日本高清无卡码一区二区久久| 国产99久久精品一区二区| 亚洲综合久久夜AV | 国产精品久久久久久久久久免费| 午夜久久久久久禁播电影| 欧美久久一区二区三区| AAA级久久久精品无码区| 久久这里只有精品18| 狠狠色综合网站久久久久久久高清| segui久久国产精品| 狠狠色丁香久久综合五月| 久久久久久午夜成人影院| 久久久亚洲欧洲日产国码是AV| 久久天天日天天操综合伊人av| 久久福利青草精品资源站| 人妻无码久久一区二区三区免费| 婷婷国产天堂久久综合五月| 久久久久亚洲AV综合波多野结衣| 国产AV影片久久久久久| 亚洲国产精品人久久| 91精品国产91热久久久久福利| 99久久99久久| 午夜不卡888久久| 精品人妻伦九区久久AAA片69| 9999国产精品欧美久久久久久| 久久这里只有精品首页|