zoukankan      html  css  js  c++  java
  • C. Remove Adjacent

    题目链接:http://codeforces.com/contest/1321/problem/C

    题意:

    给定一个字符串,若字符串中的某个字符的前一个或者后一个是其字典序的前一个字母就可以去掉这个字符,问最多能去掉多少个字符

    思路:

    贪心,每次去掉可以去掉字符的最大字典序的字母,可以脑补一下,如果每次都不去掉当前可以去掉的最大字典序的字母,有可能会导致策略不优,很明显嘛,比如4 bcda,你先去掉c,那么就是bda,只有1,而答案是3,这个需要多想想,其实也很显然的

    #include <algorithm>
    #include <string>
    #include <string.h>
    #include <vector>
    #include <map>
    #include <stack>
    #include <set>
    #include <queue>
    #include <math.h>
    #include <cstdio>
    #include <iomanip>
    #include <time.h>
    #include <bitset>
    #include <cmath>
    #include <sstream>
    #include <iostream>
    
    #define LL long long
    #define INF 0x3f3f3f3f
    #define ls nod<<1
    #define rs (nod<<1)+1
    
    const double eps = 1e-10;
    const int maxn = 2e5 + 10;;
    const LL mod = 1e9 + 7;
    
    int sgn(double a){return a < -eps ? -1 : a < eps ? 0 : 1;}
    using namespace std;
    
    
    string s;
    
    int n;
    
    bool solve()//尝试删除一个字母
    {
        for(int j=25;j>=1;j--)
            for(int i=0;i<s.size();i++)
            {
                if(s[i]!='a'+j)
                    continue;
                if(i>0)
                    if(s[i-1]=='a'+j-1)
                    {
                        s.erase(i,1);
                        return true;
                    }
                if(i<s.size()-1)
                    if(s[i+1]=='a'+j-1)
                    {
                        s.erase(i,1);
                        return true;
                    }
            }
        return false;
    }
    
    int main() {
        scanf("%d",&n);
        cin>>s;
        int ans=0;
        while(solve())
            ans++;
        printf("%d
    ",ans);
        return 0;
    }
  • 相关阅读:
    WebApi系列知识总结
    用Jquery选择器计算table中的某一列某一行的合计
    layui table指定某一行样式
    数据库-SqlServer 行转列,列转行
    数据库缓存之Memcache知识点
    hdu 2471 简单DP
    nyist0j 35 表达式求值
    html 实现网址链接
    nyist 220 推桌子
    nyist 500 一字棋
  • 原文地址:https://www.cnblogs.com/-Ackerman/p/12420140.html
Copyright © 2011-2022 走看看