题目链接

  题目其实很简单  以字母为单位   子序列 + dp 思考    (寒假太懒了, 自己也好天真, 还是要努力啊

#include <bits/stdc++.h>
using namespace std;
const int mod = 20010905;
const string sub_str = " iloveyou";
// 注意有两个o!!
string str;
int sum[10];
int main()
{
    cin>>str;
    sum[0]=1;
    for (int i=0; i<str.size(); i++) {
        if (str[i]>='A'&&str[i]<='Z') 
            str[i]=str[i]-'A'+'a';
        for(int j=1; j<=8; j++) 
            if (str[i]==sub_str[j])
                sum[j] = (sum[j] + sum[j-1]) % mod;
    }
    cout<<sum[8]<<endl;
    return 0;
}