• [蓝桥杯2019初赛]不同子串


    题意:一个字符串的非空子串是指字符串中长度至少为1 的连续的一段字符组成的串。
    例如,字符串aaab 有非空子串a, b, aa, ab, aaa, aab, aaab,一共7 个。
    注意在计算时,只算本质不同的串的个数。
    请问,字符串0100110001010001 有多少个不同的非空子串?

     1 #include <iostream>
     2 #include <algorithm>
     3 #include <set>
     4 #include <cstring>
     5 #include <string>
     6 #include <stdio.h>
     7 #define rep(i,a,b) for(int i=(a);i<=(b);++i)
     8 #define per(i,a,b) for(int i=(a);i>=(b);++i)
     9 using namespace std;
    10 const int N=1e3+7;
    11 typedef long long ll;
    12 int main()
    13 {
    14     string s="0100110001010001";
    15     set<string>ans;
    16     int len=s.size();
    17     rep(i,0,len-1){
    18         rep(j,0,len-1){
    19             string ss=s.substr(i,j);
    20             ans.insert(ss);
    21         }
    22     }
    23     printf("%d
    ",ans.size());
    24     return 0;
    25 }

    substr()函数

    string s;

    s.substr(start,length);

    start:字符串的起始位置

                正数:字符串指定位置开始。

                负数:在字符串结尾的指定位置开始。

                 0:在字符串的第一个字符处开始。

    length:返回字符串的长度,默认是到字符串结尾的位置。

                   正数:从规定的起始位置返回。

                   负数:字符串结尾末端返回。

    返回值:返回字符串的提取部分,失败返回false,或者返回一个空字符串。

  • 相关阅读:
    make menuconfig出现乱码
    内存中的变量和值
    is&==
    python小整数池
    生成器
    GIL
    grub rescue问题修复
    期末考试
    期末要求
    选课练习
  • 原文地址:https://www.cnblogs.com/Edviv/p/12330789.html
Copyright © 2020-2023  润新知