当前位置: 代码迷 >> 综合 >> rqnoj-165-FBI序列-O(n)算法
  详细解决方案

rqnoj-165-FBI序列-O(n)算法

热度:46   发布时间:2023-12-19 11:05:16.0

O(n)的时间复杂度~~

#include<string.h>
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
int dp[1100000];
int main()
{char str[5001];int n,i;while(gets(str)!=NULL){n=strlen(str);for(i=1;i<=n;i++){if(str[i-1]=='F')dp[i]=dp[i-1]+1;else dp[i]=dp[i-1];}for(i=n;i>=1;i--){if(str[i-1]=='B')dp[i]=dp[i];else dp[i]=0;}for(i=1;i<=n;i++)dp[i]+=dp[i-1];int sum=0;for(i=1;i<=n;i++){if(str[i-1]=='I')sum+=dp[i];}cout<<sum<<endl;}return 0;
}