公司网站如何制作,联客易网站建设制作,去三亚要下载什么app?,电子商务网站的建设费用案例正题 题目大意
要求s2n2∗ms_2^{{n_2}*m}s2n2∗m是串s1n1s_1^{n_1}s1n1的字串#xff0c;求最大的mmm 解题思路
首先求一个m′m#x27;m′使得s2ms_2^ms2m能够被s1n1s_1^{n_1}s1n1生成#xff0c;然后可以从而求出mmm 倍增优化#xff0c;设fi,jf_{i,j}f…正题 题目大意
要求s2n2∗ms_2^{{n_2}*m}s2n2∗m是串s1n1s_1^{n_1}s1n1的字串求最大的mmm 解题思路
首先求一个m′m#x27;m′使得s2ms_2^ms2m能够被s1n1s_1^{n_1}s1n1生成然后可以从而求出mmm 倍增优化设fi,jf_{i,j}fi,j表示从s1is1_is1i开始至少需要多少字符串才能生成s22js_2^{2^j}s22j 然后有
fi,jfi,j−1f(ifi,j−1)%∣s1∣,j−1f_{i,j}f_{i,j-1}f_{(if_{i,j-1})\%|s1|,j-1}fi,jfi,j−1f(ifi,j−1)%∣s1∣,j−1
然后就拼凑 codecodecode
#includecstdio
#includealgorithm
#includestring
#includeiostream
#includecstring
#define ll long long
using namespace std;
ll n1,n2,f[105][32];
string s1,s2;
void VeryImportantFakeMainP()
{memset(f,0,sizeof(f));for(ll i0;is1.size();i){ll posi;f[i][0]0;for(ll j0;js2.size();j){ll cnt0;while(s1[pos]!s2[j]){pos(pos1)%s1.size();if(cnts1.size()){printf(0\n);return;}}pos(pos1)%s1.size();f[i][0]cnt1;}}for(ll j1;j30;j)for(ll i0;is1.size();i)f[i][j]f[i][j-1]f[(if[i][j-1])%s1.size()][j-1];ll m0;for(ll st0;sts1.size();st){ll xst,ans0;for(ll k30;k0;k--)if(xf[x%s1.size()][k]s1.size()*n1){xf[x%s1.size()][k];ans1k;}mmax(m,ans);}printf(%lld\n,m/n2);
}
int main()
{while(cins2n2s1n1){VeryImportantFakeMainP();}
}