UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#197025#3422. BFAT100934ms2844kbC++111.1kb2023-11-05 09:53:362023-11-05 13:02:06

answer

#include <bits/stdc++.h>
using namespace std;
const int maxn = 1000000;
char s[maxn + 5], t[maxn + 5];
int cs[26], ct[26];
int L[26], R[26];
int main() {
	scanf("%s%s", s + 1, t + 1);
	int ls = strlen(s + 1), lt = strlen(t + 1);
	for (int i = 1; i <= ls; i++) cs[s[i] - 'a']++;
	for (int i = 1; i <= lt; i++) ct[t[i] - 'a']++;
	int ans = 1E9;
	for (int i = 0; i < 26; i++)
		if (ct[i]) ans = min(ans, cs[i] / ct[i]), cs[i] -= ct[i];
	if (!ans) return puts("0"), 0;
	for (int i = 1; i < lt; i++) {
		int c = lt / i;
		int mn = 0, mx = 0;
		bool flg = 1;
		for (int j = 0; j < 26; j++) {
			L[j] = (ct[j] + c) / (c + 1), R[j] = ct[j] / c;
			if (L[j] > R[j]) { flg = 0; break; }
			mn += L[j], mx += R[j];
		}
		if (!flg || i < mn || mx < i) continue;
		int l = 0, r = ls;
		while (l < r) {
			int mid = (l + r + 1) / 2;
			int mn2 = 0, mx2 = 0;
			bool flg2 = 1;
			for (int j = 0; j < 26; j++) {
				int nR = min(R[j], cs[j] / mid);
				if (L[j] > nR) { flg2 = 0; break; }
				mn2 += L[j], mx2 += R[j];
			}
			if (flg2 && mn2 <= i && i <= mx2) l = mid;
			else r = mid - 1;
		} 
		ans = max(ans, l + 1);
	}
	printf("%d", ans);
} 

详细

小提示:点击横条可展开更详细的信息

Subtask #1:

score: 10
Accepted

Test #1:

score: 10
Accepted
time: 0ms
memory: 1180kb

input:

aaaaaaaaaa
aa

output:

9

result:

ok single line: '9'

Test #2:

score: 0
Accepted
time: 0ms
memory: 1176kb

input:

bbabbbbbaa
bba

output:

3

result:

ok single line: '3'

Test #3:

score: 0
Accepted
time: 0ms
memory: 1180kb

input:

aacccabcbb
babba

output:

1

result:

ok single line: '1'

Test #4:

score: 0
Accepted
time: 0ms
memory: 1156kb

input:

aaaaaaaaa
aaaaaaaaaa

output:

0

result:

ok single line: '0'

Subtask #2:

score: 20
Accepted

Test #5:

score: 20
Accepted
time: 0ms
memory: 1180kb

input:

dacbddccbcddbcbababddbdcdccacbcbdbadadaaadbacbccdcabbacbbaccbadbaacbbccdadabadbaadabbbccbc
addaddddcb

output:

5

result:

ok single line: '5'

Test #6:

score: 0
Accepted
time: 0ms
memory: 1180kb

input:

ccbcdeeddbcdcdecbbbddbdadacbddcedaacbacdadaedaaeaebecbcdceeeccedabacbaeceabeedcdddbebceaedadaead
edc...

output:

7

result:

ok single line: '7'

Test #7:

score: 0
Accepted
time: 0ms
memory: 1176kb

input:

cfedcbcccbebeebdababcecdcbbffaacbfefddebbaefdbccbacecbcbfdfaeccbeaebfbedbecdbfdadcdcbbbefceefedbbcfd...

output:

2

result:

ok single line: '2'

Test #8:

score: 0
Accepted
time: 1ms
memory: 1156kb

input:

dahfaccbehadcbdfaeahceaghfaheegcaehbgbeacbhgddabhgahcehdbhdabbcdaedcfgeecggghagabebdgecdccgaacead
bh...

output:

0

result:

ok single line: '0'

Subtask #3:

score: 30
Accepted

Test #9:

score: 30
Accepted
time: 0ms
memory: 1180kb

input:

hedgehecchbeefehhhfgdbbgfffbchabbgghceabbaacafcbfefagefadhcafhfbdbfgaachcfffccbfhcecadfffagcdggacbhg...

output:

31

result:

ok single line: '31'

Test #10:

score: 0
Accepted
time: 0ms
memory: 1180kb

input:

ecibghchgbibddhijdfeiajdgiiijfccdjeehfchgibdadagecbjdajhdaddgbhdgcjcafjeadjbcegcchjfbifhgeicfecgbgdf...

output:

24

result:

ok single line: '24'

Test #11:

score: 0
Accepted
time: 0ms
memory: 1176kb

input:

ggabdjpbmdiofcrhqbhdoggiapfjinlakfljphfcjcgrafnmfrhnnmhpbbphjchfdncbmpmhecmhlfhccdfbdlijjokpeeddnebm...

output:

4

result:

ok single line: '4'

Test #12:

score: 0
Accepted
time: 1ms
memory: 1180kb

input:

ucjeamcftpoguuqntgooupahmoiakuqmjveoaiswreedhhuerubsmqnluorobpmivtgantosmpukpwwwepmsoafopjloflrtlwve...

output:

1

result:

ok single line: '1'

Subtask #4:

score: 20
Accepted

Test #13:

score: 20
Accepted
time: 12ms
memory: 2132kb

input:

baaaaaabbaabbbbbbbbbaaaaaabaababaabaaaababaaababbaababbbaabaaababbbbbababbabbabaaaaaaaababbbbbbbabaa...

output:

20781

result:

ok single line: '20781'

Test #14:

score: 0
Accepted
time: 52ms
memory: 2212kb

input:

aaababbaabaabbaaabbabbabbbbabbabbbbaababbbbbbbaabbbbaaaababbbbabbbaaababbabbaaabbaabbbabbabbabaaaaab...

output:

6342

result:

ok single line: '6342'

Test #15:

score: 0
Accepted
time: 190ms
memory: 2544kb

input:

aaaaaabbabaaabbbabbabbaabaaaabaabaabbabababaabbbaaaabaabaaaabaababaabbbaabababbabbbabaaaabaabaaabaaa...

output:

3787

result:

ok single line: '3787'

Test #16:

score: 0
Accepted
time: 212ms
memory: 2832kb

input:

bbabbbbbababbaabaaaaaaabbabbaabbbbbbbaababbbbabaaabbaabbabbabaabbabbaababbabaababbabaabbbbaabaabbbba...

output:

703

result:

ok single line: '703'

Subtask #5:

score: 20
Accepted

Test #17:

score: 20
Accepted
time: 12ms
memory: 2112kb

input:

nvxoxgqfuilsoxqifkupzxfixypciqedniqfolwinknpbvirzumziwgydnpzveforflrvhqawunapsfgehrbshpwnbeflzangvki...

output:

1734

result:

ok single line: '1734'

Test #18:

score: 0
Accepted
time: 52ms
memory: 2176kb

input:

tsprehnxxhfxeiylieexztdrjjeddmbldllwwdidozttnbsxfjatldgwakclhtvqhahelfuilfgbywxophxarvbbnlwurrcbsmjq...

output:

516

result:

ok single line: '516'

Test #19:

score: 0
Accepted
time: 189ms
memory: 2572kb

input:

ofbbhbatrlvkhffgokvyqzjwravodimondolzonigqkfgbvcupixsehvqusgwvwejfjzgkfuqdgbqbkceqccijalndniciodwqfr...

output:

132

result:

ok single line: '132'

Test #20:

score: 0
Accepted
time: 213ms
memory: 2844kb

input:

ytnvgvibokstopejooithobacaxadnuhhoylnrfiqfqmogfacbyzxgzufdiarhzpwjyigeijrotabbzpqvliaxycyucjgleubqea...

output:

47

result:

ok single line: '47'

Extra Test:

score: 0
Extra Test Passed