日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

洛谷 P3102 [USACO14FEB]秘密代码Secret Code

發(fā)布時間:2023/12/10 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 洛谷 P3102 [USACO14FEB]秘密代码Secret Code 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

P3102 [USACO14FEB]秘密代碼Secret Code

題目描述

Farmer John has secret message that he wants to hide from his cows; the message is a string of length at least 2 containing only the characters A..Z.

To encrypt his message, FJ applies a sequence of "operations" to it, where an operation applied to a string S first shortens S by removing either some (but not all) of the initial characters or some (but not all) of the final characters from S, after which the original string S is attached either at the beginning or end. For example, a single operation to the string ABC could result in eight possible strings:

AABC ABABC BCABC CABC ABCA ABCAB ABCBC ABCC Given the final encrypted string, please count the number of possible ways FJ could have produced this string using one or more repeated operations applied to some source string. Operations are treated as being distinct even if they give the same encryption of FJ's message. For example, there are four distinct separate ways to obtain AAA from AA.

Print your answer out modulo 2014.

農(nóng)民約翰收到一條的消息,記該消息為長度至少為2,只由大寫字母組成的字符串S,他通過一系列操作對S進行加密。

他的操作為,刪除S的前面或者后面的若干個字符(但不刪光整個S),并將剩下的部分連接到原字符串S的前面或者后面。如對于S=‘ABC’,共有8總可能的操作結(jié)果:

AABC

ABABC

BCABC

CABC

ABCA

ABCAB

ABCBC

ABCC

給出加密后的目標字符串,請計算共有多少種加密的方案。

對于同字符的字符串,加密方案不止一種,比如把AA加密成AAA,共有4種加密方案。將你的答案mod 2014后輸出。

輸入輸出格式

輸入格式:

?

  • Line 1: A single encrypted string of length at most 100.

?

輸出格式:

?

  • Line 1: The number of ways FJ could have produced this string with one or more successive operations applied to some initial string of length at least 2, written out modulo 2014. If there are no such ways, output zero.

?

輸入輸出樣例

輸入樣例#1:
ABABA 輸出樣例#1:
8

說明

Here are the different ways FJ could have produced ABABA:

1. Start with ABA -> AB+ABA 2. Start with ABA -> ABA+BA 3. Start with AB -> AB+A -> AB+ABA 4. Start with AB -> AB+A -> ABA+BA 5. Start with BA -> A+BA -> AB+ABA 6. Start with BA -> A+BA -> ABA+BA 7. Start with ABAB -> ABAB+A 8. Start with BABA -> A+BABA #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define mod 2014 using namespace std; char s[120]; int dp[120][120],f[120][120][120]; int main(){scanf("%s",s+1);int len=strlen(s+1);for(int i=1;i<=len;i++)for(int j=1;j<=len;j++)for(int k=1;i+k-1<=len&&j+k-1<=len&&s[i+k-1]==s[j+k-1];k++)f[i][j][k]=1;for(int i=1;i<=len;i++)for(int j=1;j<=len;j++)dp[i][j]=1;for(int l=2;l<=len;l++)for(int i=1;i+l-1<=len;i++){int j=i+l-1;for(int k=1;k*2<l;k++){if(f[i][i+k][k]) dp[i][j]=(dp[i][j]+dp[i+k][j])%mod;if(f[i][j-k+1][k]) dp[i][j]=(dp[i][j]+dp[i+k][j])%mod;if(f[i][j-k+1][k]) dp[i][j]=(dp[i][j]+dp[i][j-k])%mod;if(f[j-2*k+1][j-k+1][k]) dp[i][j]=(dp[i][j]+dp[i][j-k])%mod;}}cout<<dp[1][len]-1; }

?

轉(zhuǎn)載于:https://www.cnblogs.com/cangT-Tlan/p/7569629.html

總結(jié)

以上是生活随笔為你收集整理的洛谷 P3102 [USACO14FEB]秘密代码Secret Code的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。