首页 > 其他 > 详细

gym-101343E-Abdalrahman Ali Bugs

时间:2017-07-20 22:55:51      阅读:437      评论:0      收藏:0      [点我收藏+]

 

 1 /*
 2 寻找x使得目标函数的值最小。
 3 先统计字符串每个字母的出现次数,然后暴力穷举所有可能的x
 4 每个都计算一次目标函数,取最小的即可。
 5 */
 6 #include <bits/stdc++.h>
 7 using namespace std;
 8 const int inf=0x3f3f3f3f;
 9 string s;
10 int scnt[30];
11 int main()
12 {
13     cin>>s;
14     int maxn=0;
15     int len=s.length();
16     for(int i=0;i<len;i++)
17     {
18         scnt[s[i]-97]++;
19         if(maxn<scnt[s[i]-97])
20             maxn=scnt[s[i]-97];
21     }
22     int minn=inf;
23     int ans=2;
24     for(int i=2;i<=maxn;i++)
25     {
26         long long  t=0;
27         for(int j=0;j<26;j++)
28             t+=(scnt[j]%i)*(long long )scnt[j];
29         if(minn>t)
30         {
31             minn=t;
32             ans=i;
33         }
34     }
35     cout<<ans<<endl;
36 }

 

gym-101343E-Abdalrahman Ali Bugs

原文:http://www.cnblogs.com/kearon/p/7214829.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!