• <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
            吐槽:
               無力吐槽了,450pt怎么那么難。。。

            250pt
               題目意思是,有N(N<=50)個數,每個數的可變范圍是[max(N-X,1),N+X]。讓這個數列嚴格遞增的最小X是多殺?
            算法分析:
               二分枚舉答案然后貪心判定。每個數都盡可能的小。
             1 #include<vector>
             2 #include<iostream>
             3 using namespace std;
             4 class KingdomAndTrees{
             5     public : int minLevel(vector <int> num){
             6         int n = num.size();
             7         int l = 0, r = 1000000000;
             8         while(l<r){
             9             int mid = l+r >>1;
            10             int pre = 0, flag = 1;
            11         //    cout<<l<<" "<<r<<" "<<mid<<endl;
            12             for(int i=0;i<n;i++){
            13                 if(num[i] + mid <= pre){ flag = 0; break; }
            14                 pre = max(pre+1, num[i] - mid);
            15             //    if(mid == 5) cout<< pre<<" ";
            16             }
            17             if(flag) r = mid; else l = mid+1;
            18         }
            19         return l;
            20     }
            21 };

            450pt
               有兩個N<50個面的骰子,每個面的數字是1-X的唯一某個數。第一個骰子有些面是0。現在兩個骰子同時投擲,請你把第一個骰子某些為0的面寫上一些唯一的1-X的數字,讓第一個骰子的勝率盡可能接近0.5。

            算法分析:
               等同于求,有一大堆數[1,X]。有N個空格,讓你求在某些空格上寫一些數,最后可以勝利的所有可能。
               背包模型,動規求解。DP[i][j][k],表示前i個骰子,填入前j個空格,是否可能贏k次。用0-1背包的寫法,可以省一唯空間。

             1 #include<vector>
             2 #include<algorithm>
             3 #include<iostream>
             4 using namespace std;
             5 bool dp[55][2555];
             6 class KingdomAndDice{
             7 public : double newFairness(vector <int> fD, vector <int> sD, int X){
             8     int now = 0, len = 0, n = sD.size();
             9     for(int i=0;i<n; i++){
            10         len += fD[i] == 0;
            11         for(int j=0; j<n; j++)
            12             now += fD[i] > sD[j];
            13     }
            14     sort(sD.begin(), sD.end());
            15     int mx = n*n;
            16     for(int i=0;i<=len; i++) dp[i][now] = 1;
            17     for(int i=0;i<n;i++){
            18         int l = sD[i] + 1;
            19         int r = i== n-1 ? X : sD[i+1] - 1;
            20         int cnt = r - l + 1;
            21         for(int j=0; j<n; j++) if(fD[j] >=l && fD[j] <= r) cnt --;
            22         cnt = min(cnt, len);
            23         for(int j=0; j< cnt; j++)
            24             for(int k = len-1;k >=0; k--)
            25                 for(int p = 0; p <= mx; p++)
            26                     if(dp[k][p] && p + i + 1 <= mx){
            27                         dp[k+1][p + i + 1] = 1;
            28                     }
            29     }
            30     int  m = abs(n*n ), ans = now;
            31     for(int p = 0; p <=mx; p++){
            32         for(int i=0; i<=len; i++)    {
            33             if(dp[i][p] && abs(n*n-p*2) < m){
            34                 ans = p; m = abs(n*n-p*2);
            35             }
            36         }
            37     }
            38     return 1.0*ans/mx;
            39 }
            40 };

            posted on 2012-07-04 12:05 西月弦 閱讀(431) 評論(0)  編輯 收藏 引用
            国产精品久久成人影院| 欧美激情精品久久久久| 久久精品亚洲乱码伦伦中文| 国产亚洲精久久久久久无码77777| 久久99热只有频精品8| 久久涩综合| 99久久婷婷国产一区二区| 国产69精品久久久久9999APGF| 久久精品国产免费观看| 热久久国产欧美一区二区精品| 五月丁香综合激情六月久久| 人人狠狠综合久久亚洲| 97精品国产97久久久久久免费| 国产精品18久久久久久vr | 久久人人爽人人爽人人片av麻烦| 亚洲中文字幕久久精品无码喷水 | 人妻精品久久久久中文字幕| 亚洲va久久久噜噜噜久久狠狠| 国产精品99久久精品爆乳| 狠狠色丁香婷婷综合久久来| 欧美喷潮久久久XXXXx| 人妻无码αv中文字幕久久琪琪布| 久久综合狠狠色综合伊人| 久久人人爽人人爽人人av东京热 | 亚洲国产天堂久久综合网站| 久久婷婷五月综合成人D啪| 久久九九久精品国产| 久久婷婷综合中文字幕| 久久人人爽爽爽人久久久| 三级三级久久三级久久| 久久99久久无码毛片一区二区| 一级做a爰片久久毛片人呢| 久久久老熟女一区二区三区| 久久精品人成免费| 日产精品99久久久久久| 2021国内久久精品| 香蕉久久夜色精品国产2020| 久久精品国产2020| 亚洲色婷婷综合久久| 色婷婷综合久久久中文字幕| 色综合久久久久久久久五月|