• <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)  編輯 收藏 引用
            久久九九精品99国产精品| 精品乱码久久久久久夜夜嗨 | 久久久精品午夜免费不卡| 99久久免费国产精品特黄| 深夜久久AAAAA级毛片免费看| 66精品综合久久久久久久| 狠色狠色狠狠色综合久久 | 国产精品久久久久国产A级| 午夜久久久久久禁播电影| 久久久SS麻豆欧美国产日韩| 欧洲精品久久久av无码电影| 91精品国产9l久久久久| 51久久夜色精品国产| 久久国产影院| 综合网日日天干夜夜久久| 久久AV高清无码| 精品久久人人做人人爽综合| 一本一道久久a久久精品综合| 2021国内久久精品| 久久亚洲私人国产精品| 精品久久久久久| 亚洲欧洲久久久精品| 久久精品国产男包| 久久电影网一区| 偷窥少妇久久久久久久久| 欧美一区二区三区久久综合| 99久久精品国产毛片| 久久99久国产麻精品66| 亚洲综合精品香蕉久久网97 | 久久久久国产精品熟女影院| 久久er热视频在这里精品| 综合久久精品色| 亚洲综合精品香蕉久久网97| 人妻无码精品久久亚瑟影视 | 欧洲精品久久久av无码电影| 精品久久久久一区二区三区| 蜜臀久久99精品久久久久久小说 | 久久久免费观成人影院 | 久久―日本道色综合久久| 久久综合久久综合亚洲| 国产精品久久久久一区二区三区 |