• CCPC网络赛,HDU_5842 Lweb and String


    Problem Description
    Lweb has a string $S$.

    Oneday, he decided to transform this string to a new sequence.

    You need help him determine this transformation to get a sequence which has the longest LIS(Strictly Increasing).

    You need transform every letter in this string to a new number.

    $A$ is the set of letters of $S$, $B$ is the set of natural numbers.

    Every injection $f: A ightarrow B$ can be treat as an legal transformation.

    For example, a String “aabc”, $A = { a,b,c }$, and you can transform it to “1 1 2 3”, and the LIS of the new sequence is 3.

    Now help Lweb, find the longest LIS which you can obtain from $S$.

    LIS: Longest Increasing Subsequence. (https://en.wikipedia.org/wiki/Longest_increasing_subsequence)
     
    Input
    The first line of the input contains the only integer $T, (1 leq T leq 20)$.

    Then $T$ lines follow, the i-th line contains a string $S$ only containing the lowercase letters, the length of $S$ will not exceed $10^5$.
     
    Output
    For each test case, output a single line "Case #x: y", where x is the case number, starting from 1. And y is the answer.
     
    Sample Input
    2
    aabcc
    acdeaa
     
    Sample Output
    Case #1: 3
    Case #2: 4
    代码如下:
     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 #include<cmath>
     5 
     6 using namespace std;
     7 
     8 char s[100010];
     9 int w[26];
    10 
    11 int main()
    12 {
    13     int t;
    14     int d = 0;
    15     int sum;
    16     scanf("%d",&t);
    17     while(t--)
    18     {
    19         sum = 0;
    20         scanf("%s",&s);
    21         memset(w,0,sizeof(w));
    22         for (int i=0;i<strlen(s);i++)
    23         {
    24             if (w[s[i]-'a'] == 0){
    25                 sum++;
    26                 w[s[i]-'a'] = 1;
    27             }else
    28             continue;
    29         }
    30         printf("Case #%d: %d
    ",++d,sum);
    31     }
    32     return 0;
    33 }

    思路解析:

                 这题就是题意的问题。A不出来都是被样例迷惑了!样例毁一生2333333,有时候理解真的比直接敲更有用。

  • 相关阅读:
    Eclipse EE 3.6 failed to create the java virtual machine 解决
    [收藏]家用三线插座(220V单相)正确接线方法
    Java设计模式 Design Pattern:包装模式 Decorator Pattern
    MIME 类型列表
    面试题参考
    循环队列的运用求K阶斐波那契序列
    加密技术仿射密码
    面试题集锦_1
    栈的运用(5)转换逆波兰式
    栈的运用(6)逆波兰式求值
  • 原文地址:https://www.cnblogs.com/xzt6/p/5774782.html
Copyright © 2020-2023  润新知