• <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
            300pt
               一個串S是由X和Y在不改變本身字母相對順序的情況下拼成的。其中Y是X的一個排列,求字典序最小的Y。

            算法分析:
               貪心構造。
             1 #include<iostream>
             2 #include<string>
             3 using namespace std;
             4 bool vis[55];
             5 int hash[55],tmp[55];
             6 class 
             7 FoxAndHandle{
             8     public : string lexSmallestName(string ch){
             9         int n = ch.size();
            10         for(int i =0; i < n; i++)
            11             hash[ch[i] -'a'] ++;
            12         int cnt[55];
            13         for(int i = 0; i < 26; i++){
            14             hash[i]/= 2;
            15             cnt[i] = hash[i];    
            16         }
            17         string ans;
            18         int now = 0;
            19         for(int _=0;_<n/2;_++){
            20             for(int i = 0; i < 26; i++) if(cnt[i]){
            21                 bool flag = 0;
            22                 for(int j = now; j < n; j++){
            23                     if(ch[j] == i+'a') {
            24                         flag = 1;
            25                         memset(tmp,0,sizeof(tmp));
            26                         for(int p = 0; p < j; p++)if(!vis[p]){
            27                             int x = ch[p] - 'a';
            28                             tmp[x] ++;
            29                             cout<<p<<" "<<x<<" "<<tmp[x]<<" "<<hash[x]<<endl;
            30                             if(tmp[x] > hash[x]) {flag = 0; break;}
            31                         }
            32                         cout<<"chk: "<<_<<" "<<j<<" "<<i<<" "<<flag<<endl;
            33                         if(flag) {vis[j] = 1; ans+=ch[j]; now = j+1;}
            34                         break;
            35                     }
            36                 }
            37                 if(flag) {cnt[i] --;break;}
            38             }
            39         }
            40         return ans;
            41     }
            42 };

            500pt
               一個環形序列{(ai, di)},每次選擇一個j,讓j ... j+aj的所有數都從序列中刪除(是環形的哦~)。得分為dj,如果剩下的數不足aj,就不能選它。
               求可以得到的最大得分總和。
            算法分析:
               因為任意一個沒有順序的sum(a)<=n的方案都是合法的(否則會大于n)。那么這就等價于一個01背包問題了,果然tc就是拼YY啊...
             1 #include<iostream>
             2 #include<cstring>
             3 #include<vector>
             4 using namespace std;
             5 const int inf = (int)1e9;
             6 int dp[55*55];
             7 int work(vector<int> a,vector <int> d){
             8     int n = a.size(), ans = 0;
             9     memset(dp,-1,sizeof(dp));
            10     dp[0] = 0;
            11     for(int j = 0; j < n; j++){
            12         for(int i = n+1; i; i--) if(i - a[j] >= 0 ){
            13             int v = i - a[j];
            14             if(dp[v] == -1) continue;
            15             dp[i] = max(dp[i],dp[v] + d[j]);
            16             //cout<<i<<" "<<dp[i]<<endl;
            17             ans = max(ans,dp[i]);
            18         }
            19 //        cout<<endl;
            20     }
            21     return ans;
            22 }
            23 class SpellCards{
            24     public : int maxDamage(vector <int> level, vector <int> damage){
            25                  return work(level,damage);
            26              }
            27 };
            28 
            posted on 2012-12-09 03:17 西月弦 閱讀(631) 評論(0)  編輯 收藏 引用
            69久久夜色精品国产69 | 亚洲国产精品婷婷久久| 久久久久久久久波多野高潮| 精品国产99久久久久久麻豆| 久久婷婷五月综合97色一本一本| 久久国产一区二区| 91精品国产乱码久久久久久 | AV无码久久久久不卡网站下载| 一级女性全黄久久生活片免费| 18禁黄久久久AAA片| 欧美亚洲色综久久精品国产| 日本欧美久久久久免费播放网| 久久国产精品99久久久久久老狼| 精品无码人妻久久久久久| 99久久国产宗和精品1上映| 97精品伊人久久久大香线蕉| 中文精品99久久国产| 国产69精品久久久久99尤物| 久久中文字幕人妻丝袜| 久久精品亚洲欧美日韩久久| 99久久99久久精品免费看蜜桃 | 亚洲а∨天堂久久精品9966| 午夜精品久久久久久久| 久久午夜综合久久| 99久久无码一区人妻| 91精品国产91久久综合| 久久影院综合精品| 伊人久久大香线蕉亚洲五月天 | 国产69精品久久久久观看软件| 国产一级持黄大片99久久| 久久久高清免费视频| 久久人人爽人人爽人人片AV东京热| 久久综合给合久久国产免费| 色综合合久久天天给综看| 国产精品99久久不卡| 99久久国产亚洲高清观看2024 | 国产精品久久影院| 97久久精品午夜一区二区| 久久久久亚洲AV无码专区体验| 久久人人爽人人爽人人片AV高清| 久久无码人妻精品一区二区三区|