Codeforces 1038A Equality

深夜补数据库实验报告,顺便把今天的题给做了吧。

挑个水题做呗,从开题到AC,大概5分钟吧2333333

给你一个长度为n的字符串,这个字符串由字符表的前K个字母构成,比如k=3,那么abcacbab,abbbc,abcbab都是正确的字符串。

然后定义字符串的子序列,这里的子序列不要求连续,只要不改变原字符串的位置即可,比如abcdef的子序列可以是adef。

然后定义一个好的子序列是什么样的呢,里面的不同字母出现的次数是相同的,比如aabbcc就是一个好的子序列。

然后就是求最长的好的子序列的长度。

统计各字母的出现的次数就行,答案就是原字符串中出现次数最少的字母再乘上K。

#define  _CRT_SECURE_NO_WARNINGS
#include <cstdio>
#include <algorithm>
#include <deque>
#include <iostream>
#include <string>
#include <math.h>

using namespace std;

int n, k;
int temp[26];
string s;

int main() {
	cin >> n >> k;
	cin >> s;
	int len = s.length();
	for (int i = 0;i < len;++i) {
		temp[s[i] - 65]++;
	}
	sort(temp, temp + k);
	cout << temp[0] * k << endl;
	//system("pause");
	return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值