PAT T1025 Keep at Most 100 Characters
Posted zhanglichen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT T1025 Keep at Most 100 Characters相关的知识,希望对你有一定的参考价值。
删除字符的镜像问题,状态转移方程一样~
#include<bits/stdc++.h> using namespace std; const int maxn=1014; const int mod=1e9+7; string s; long long dp[maxn][maxn]; int main () { cin>>s; fill (dp[0],dp[0]+maxn,1); int t=max(0,(int)(s.length()-100)); for (int i=1;i<s.length();i++) { for (int j=i;j<=s.length();j++) { dp[i][j]=dp[i][j-1]%mod+dp[i-1][j-1]%mod; dp[i][j]%=mod; for (int k=j-1;j-k<=i;k--) { if (s[k-1]==s[j-1]) { dp[i][j]-=dp[i-(j-k)][k-1]; break; } } } } long long sum=0; for (int i=t;i<s.length();i++) { sum+=dp[i][s.length()]; sum%=mod; } printf ("%lld",sum); return 0; }
以上是关于PAT T1025 Keep at Most 100 Characters的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode: 902. Numbers At Most N Given Digit Set
LeetCode Longest Substring with At Most Two Distinct Characters
分布式系统中幂等性at least once 和 at most once 问题
分布式系统中幂等性at least once 和 at most once 问题
算法159题 Longest Substring with at Most Two Distinct Characters 最大的子串