• <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>
            算法學社
            記錄難忘的征途
            posts - 141,comments - 220,trackbacks - 0
            終于變黃了!

            250pt

                有兩根木棍,木棍A長度是[1,NA]的隨機整數,木棍B長度是[1,NB]的隨機整數(NA,NB<100,000)。兩根木棍底部對齊平行放置,距離為W。求木棍頂部間距的期望。

            算法分析:

                既然寬度確定了,我們枚舉木棍的高度差就可以了。
                易疵點就是整形溢出。
             1 #include<iostream>
             2 #include<cmath>
             3 using namespace std; 
             4 class Pillars{
             5     public : double getExpectedLength(int w, int x, int y){
             6         int n = max(x,y);
             7         double ans = 0;
             8         ans += min(x,y) * sqrt((double)w*w);
             9         for(int i=1;i<n;i++){
            10             double v = max(0, min(x-i,y)) +max(0, min(y-i,x));
            11         //    cout<<i<<" "<<v<<endl;
            12             ans += v*sqrt((double)i*i + w*w);
            13         }
            14         ans /= (double) x*y;
            15         //cout<<ans<<endl;
            16         return ans;
            17     }
            18 };

            500pt

                有一個H*W的矩形(W,H <= 1,000,000)。每個格子i,j的值是i*W+j。 給一個數S(S<1,000,000,000,000)。求子矩陣的和為S的最小面積是多少?

            算法分析:

                首先估算出面積最大的數量級在10^6,于是考慮枚舉(又是枚舉)。。。。
                枚舉量應該是size + size/2 + size/3 + ... + size/size = size * log (size) 調和級數啊啊啊。。。。
                枚舉出長h,寬w之后,利用公式反代出最左上角的值。
             1 #include<iostream>
             2 using namespace std;
             3 typedef long long ll;
             4 class RectangularSum{
             5     public : ll minimalArea(int H,int W,ll s){
             6         ll n = 1, ans = -1;
             7         for(;n*(n-1)/2<s;n++);
             8     //    cout<<n<<endl;
             9         for(ll w=1; w<=n; w++){
            10             if(w > W) break;
            11             for(ll h =1; h*w <=n; h++){
            12                 if(h > H) break;
            13                 ll t = W*w*(h-1)*h/2 + h*(w-1)*w/2;
            14                 ll val = s-t;
            15                 if(w==3 && h==3) cout<<val<<endl;
            16                 if(val >=0 && val % (w*h)==0){
            17                     ll x = val / (h*w);
            18                     if( x/W + h <= H && x % W + w <= W){
            19         //                cout<<x<<" "<<h<<" "<<w<<endl;
            20                         if(ans == -1 || ans > w*h) ans = w*h;
            21                     }
            22                 }
            23             }
            24         }
            25         return ans;
            26     }
            27 };
            posted on 2012-06-26 13:36 西月弦 閱讀(278) 評論(0)  編輯 收藏 引用
            国产精品欧美久久久天天影视| 国内精品久久久久久久coent| 精品久久人人做人人爽综合 | 久久久久久综合一区中文字幕| 欧美伊人久久大香线蕉综合| 亚洲精品无码久久久| 一本久久a久久精品vr综合| 久久久久女人精品毛片| 久久精品一区二区国产| 久久91这里精品国产2020| 久久青青草原精品国产软件 | 久久综合狠狠综合久久| 久久婷婷综合中文字幕| 日本高清无卡码一区二区久久 | 四虎亚洲国产成人久久精品| 欧美熟妇另类久久久久久不卡| 久久久久亚洲av无码专区| 欧美日韩精品久久久久| 国产激情久久久久影院小草| 无码人妻少妇久久中文字幕蜜桃| 狠狠色综合久久久久尤物| 久久夜色精品国产欧美乱| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 亚洲AV无码久久| 久久久WWW免费人成精品| 国产美女久久精品香蕉69| 久久精品亚洲AV久久久无码| 久久久久亚洲AV成人网人人网站 | 奇米影视7777久久精品人人爽| 国产午夜精品久久久久九九电影 | 中文精品99久久国产| 久久ZYZ资源站无码中文动漫| 亚洲人成无码网站久久99热国产| 国产精品久久久久久搜索| 色综合久久综合中文综合网| 久久综合鬼色88久久精品综合自在自线噜噜| 亚洲国产天堂久久综合网站| 国产精品一久久香蕉产线看| 国产精品禁18久久久夂久| 精品久久香蕉国产线看观看亚洲| 久久精品国产清高在天天线|