约翰认为字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数。

约翰不在乎字母大小写。(也就是说字母F和f)的完美度相同。给定一个字符串,输出它的最大可能的完美度。例如:dad,你可以将26分配给d,25分配给a,这样整个字符串完美度为77。

分析: 由排序不等式,出现次数最多的字母显然应该给26。所以这个题目变成了统计每种字母出现的次数了,然后按照出现次数从大到小,依次分配从高到低的权值。这就是最朴素的贪心思想。

 
输入

输入一个字符串S(S的长度 <= 10000),S中没有除字母外的其他字符。
输出
 
由你将1-26分配给不同的字母,使得字符串S的完美度最大,输出这个完美度。
 
输入示例

dad
输出示例

77
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
char a[];
int b[],ans;
int main()
{
cin>>a;
for(int i=;i<=strlen(a);i++)
{
if(a[i]=='a'||a[i]=='A') b[]++;
if(a[i]=='b'||a[i]=='B') b[]++;
if(a[i]=='c'||a[i]=='C') b[]++;
if(a[i]=='d'||a[i]=='D') b[]++;
if(a[i]=='e'||a[i]=='E') b[]++;
if(a[i]=='f'||a[i]=='F') b[]++;
if(a[i]=='g'||a[i]=='G') b[]++;
if(a[i]=='h'||a[i]=='H') b[]++;
if(a[i]=='i'||a[i]=='I') b[]++;
if(a[i]=='j'||a[i]=='J') b[]++;
if(a[i]=='k'||a[i]=='K') b[]++;
if(a[i]=='l'||a[i]=='L') b[]++;
if(a[i]=='m'||a[i]=='M') b[]++;
if(a[i]=='n'||a[i]=='N') b[]++;
if(a[i]=='o'||a[i]=='O') b[]++;
if(a[i]=='p'||a[i]=='P') b[]++;
if(a[i]=='q'||a[i]=='Q') b[]++;
if(a[i]=='r'||a[i]=='R') b[]++;
if(a[i]=='s'||a[i]=='S') b[]++;
if(a[i]=='t'||a[i]=='T') b[]++;
if(a[i]=='u'||a[i]=='U') b[]++;
if(a[i]=='v'||a[i]=='V') b[]++;
if(a[i]=='w'||a[i]=='W') b[]++;
if(a[i]=='x'||a[i]=='X') b[]++;
if(a[i]=='y'||a[i]=='Y') b[]++;
if(a[i]=='z'||a[i]=='Z') b[]++;
}
sort(b+,b+);
int k=,d=;
while(k){
if(b[d]!=){
ans+=b[d]*k;
k--;
d--;
}
else break;
}
cout<<ans;
}

如果对你有所帮助,别忘了加好评哦;么么哒!!下次见!88

- > 贪心基础入门讲解一——完美字符串的更多相关文章

  1. - > 贪心基础入门讲解五——任务执行顺序

    分析: 本题可以抽象成,从一个整数开始,每次减去a,再加上b (a,b都是正数),要求每次操作都不产生负数. 针对本题a[i] = R[i], b[i] = R[i] – O[i],注意O[i] &l ...

  2. - > 贪心基础入门讲解二——活动安排问题

    有若干个活动,第i个开始时间和结束时间是[Si,fi),只有一个教室,活动之间不能交叠,求最多安排多少个活动? 分析: 我们就是想提高教室地利用率,尽可能多地安排活动.考虑容易想到的几种贪心策略: ( ...

  3. - > 贪心基础入门讲解三——活动安排问题二

    有若干个活动,第i个开始时间和结束时间是[Si,fi),活动之间不能交叠,要把活动都安排完,至少需要几个教室?   分析:能否按照之一问题的解法,每个教室安排尽可能多的活动,即按结束时间排序,再贪心选 ...

  4. - > 贪心基础入门讲解四——独木舟问题

    n个人,已知每个人体重,独木舟承重固定,每只独木舟最多坐两个人,可以坐一个人或者两个人.显然要求总重量不超过独木舟承重,假设每个人体重也不超过独木舟承重,问最少需要几只独木舟? 分析: 一个显然的策略 ...

  5. Swift语法基础入门二(数组, 字典, 字符串)

    Swift语法基础入门二(数组, 字典, 字符串) 数组(有序数据的集) *格式 : [] / Int / Array() let 不可变数组 var 可变数组 注意: 不需要改变集合的时候创建不可变 ...

  6. (贪心 字符串 打好基础)51nod 1182完美字符串

    约翰认为字符串的完美度等于它里面所有字母的完美度之和.每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数. 约翰不在乎字母大小写(也就是说字母A和a的完美度相同).给 ...

  7. python基础入门 整型 bool 字符串

    整型,bool值,字符串 一.整型 整型十进制和二进制 整型:整型在Python中的关键字用int来表示; 整型在计算机中是用于计算和比较的 可进行+ - * / % //(整除) **(幂运算) 十 ...

  8. 【JAVA零基础入门系列】Day6 Java字符串

    字符串,是我们最常用的类型,每个用双引号来表示的串都是一个字符串.Java中的字符串是一个预定义的类,跟C++ 一样叫String,而不是Char数组.至于什么叫做类,暂时不做过多介绍,在之后的篇章中 ...

  9. 016 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 10 布尔类型和字符串的字面值

    016 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 10 布尔类型和字符串的字面值 本文知识点:字面值 关于字面值的概念,需要注意:很多地方,我们可能就把字面值 ...

随机推荐

  1. 仿QQ局域网聊天软件

    1 目的   想复习一下TCP/IP协议,再结合一下以前学的Qt的知识,加上前段时间学的MySQL数据库操作,所以写了个"仿QQ局域网聊天软件"小项目,只实现了一部分功能,还没写完 ...

  2. HTML基础2——综合案例3——创建考试报名表格

    <html> <head> <title></title> </head> <body> <table width=&qu ...

  3. C#基础 for 穷举、迭代

    //循环可以解决的问题类型 //穷举,把所有可能的情况都走一遍,使用if条件筛选出来满足条件的情况. //单位给发了一张150元购物卡, //拿着到超市买三类洗化用品. //洗发水15元,香皂2元,牙 ...

  4. 连接oracle出现的问题以及解决办法

    连接oracle出现过的问题: 1,ORA-12514::监听程序当前无法识别链接描述符中请求的服务 1)重启服务,看是否解决 2)测试网络监听是否能监听成功,监听不成功的话,查看下面几个点:服务名( ...

  5. iOS检测耳机插入拔出

    首先,需要导入两个框架 然后,注册通知检测耳机的插入与拔出操作 [[NSNotificationCenter defaultCenter] addObserver:self selector:@sel ...

  6. CSS 按钮特效(二)

    1 案例 2. HTML 代码 <div class="arrow arrow-left-middle"> arrow-left-middle </div> ...

  7. 如何在Win8.1和Win2012上运用PowerShell快速生成、安装、导出自签名证书 (Self-Signed Certificate)

    自签名证书用途很广,测试,开发,本地或者云端网站(比如Microsoft Azure Web Site)都会使用到.本文会介绍一种在Win8.1和Win2012 R2上使用PowerShell快速生成 ...

  8. 【笔记JS/HTML/CSS】CSS3实现鼠标滑动显示动画(transition、transform)

    内容中包含 base64string 图片造成字符过多,拒绝显示

  9. Django之auth登录认证

    前言:我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. Django作为一个完美主义者的 ...

  10. ThinkPHP---thinkphp模型(M)

    (1)配置数据库连接 数据库的连接配置可以在系统配置文件ThinkPHP/Conf/convention.php中找到 /* 数据库设置 */ 'DB_TYPE' => '', // 数据库类型 ...