• <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 西月弦 閱讀(438) 評論(0)  編輯 收藏 引用
            国产亚州精品女人久久久久久 | 热re99久久6国产精品免费| 99久久婷婷免费国产综合精品| 久久不射电影网| 无夜精品久久久久久| 99精品国产99久久久久久97| 久久亚洲私人国产精品vA| 99久久99久久精品国产片| 99久久这里只精品国产免费| 亚洲精品国精品久久99热一| 夜夜亚洲天天久久| 久久人人添人人爽添人人片牛牛| 久久99精品久久只有精品| 久久精品18| 久久99精品国产99久久| 久久久久久伊人高潮影院| 国产精品毛片久久久久久久| 国产亚洲色婷婷久久99精品| 青青青青久久精品国产h久久精品五福影院1421| 性做久久久久久久久久久| 91视频国产91久久久| 亚洲精品乱码久久久久久| 久久久精品国产亚洲成人满18免费网站 | 国内精品久久久久影院免费| 2021国内精品久久久久久影院| 99久久精品无码一区二区毛片| 精品久久久久久久无码| 性色欲网站人妻丰满中文久久不卡| 精品久久久无码中文字幕天天| 狠狠狠色丁香婷婷综合久久俺| 欧美熟妇另类久久久久久不卡 | 久久国产亚洲精品无码| 日韩中文久久| 无码人妻久久一区二区三区蜜桃| 精品久久久久久国产三级| 99久久国产综合精品五月天喷水| 精品无码久久久久久午夜| 狠狠色丁香久久婷婷综合| 久久精品国产AV一区二区三区| 色综合久久中文字幕综合网| 婷婷国产天堂久久综合五月|