• <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 西月弦 閱讀(639) 評論(0)  編輯 收藏 引用
            久久久噜噜噜久久中文字幕色伊伊| 国产精品久久久久影院嫩草| 韩国三级中文字幕hd久久精品 | 国产精品免费福利久久| 99re这里只有精品热久久| 久久综合九色综合97_久久久| 国内精品久久久久国产盗摄| 狠狠色噜噜色狠狠狠综合久久| 国产精品免费看久久久| 亚洲人成无码www久久久| 99久久精品国产免看国产一区| 欧美精品福利视频一区二区三区久久久精品 | 国产成人精品久久亚洲| 久久久久久久久久久| 777米奇久久最新地址| 久久久久se色偷偷亚洲精品av| 久久综合久久久| 久久久精品2019免费观看| 欧美亚洲国产精品久久| 久久久久夜夜夜精品国产| 久久香蕉超碰97国产精品| 久久青青草原精品国产软件| 青青草原综合久久大伊人精品| 久久精品一本到99热免费| 久久中文精品无码中文字幕| 久久久91精品国产一区二区三区 | 久久久国产精品| 99久久国产主播综合精品| 久久久久久久97| 精品久久久久中文字幕日本 | 久久无码av三级| 亚洲嫩草影院久久精品| 亚洲国产成人久久精品影视| 狠狠色丁香久久综合婷婷| 97久久精品国产精品青草| 久久精品国产网红主播| 久久综合给合久久狠狠狠97色69| 综合久久国产九一剧情麻豆| 久久久国产打桩机| 久久精品人人槡人妻人人玩AV | 久久无码中文字幕东京热|