zoukankan      html  css  js  c++  java
  • 51Nod 1182 完美字符串 (贪心)

    约翰认为字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数。
    约翰不在乎字母大小写。(也就是说字母F和f)的完美度相同。给定一个字符串,输出它的最大可能的完美度。例如:dad,你可以将26分配给d,25分配给a,这样整个字符串完美度为77。
    Input
    输入一个字符串S(S的长度 <= 10000),S中没有除字母外的其他字符。
    Output
    由你将1-26分配给不同的字母,使得字符串S的完美度最大,输出这个完美度。
    Input示例
    dad
    Output示例
    77

    思路:先进行大小写转换并统计各字母出现次数,然后排序,最后按出现次数的顺序分配权值,出现次数越多,权值越大,累加即可。
     1 #include <iostream>
     2 #include <algorithm>
     3 #include <cstring>
     4 #include <cstdio>
     5 #include <vector>
     6 #include <cstdlib>
     7 #include <iomanip>
     8 #include <cmath>
     9 #include <ctime>
    10 #include <map>
    11 #include <set>
    12 using namespace std;
    13 #define lowbit(x) (x&(-x))
    14 #define max(x,y) (x>y?x:y)
    15 #define min(x,y) (x<y?x:y)
    16 #define MAX 100000000000000000
    17 #define MOD 1000000007
    18 #define pi acos(-1.0)
    19 #define ei exp(1)
    20 #define PI 3.141592653589793238462
    21 #define INF 0x3f3f3f3f3f
    22 #define mem(a) (memset(a,0,sizeof(a)))
    23 typedef long long ll;
    24 const int N=10005;
    25 const int mod=1e9+7;
    26 bool cmp(char x,char y)
    27 {
    28     return x>y;
    29 }
    30 string S;
    31 int letter[100] = {0};
    32 int main()
    33 {
    34     while(cin>>S){
    35         for(int i=0;i<S.length();i++){
    36             if (S[i]>90) S[i] -= 32;
    37             letter[S[i]]++;
    38         }
    39         sort(letter+65,letter+91);
    40         int val = 26,ans = 0;
    41         for (int i=90;i>=65;i--)
    42             ans +=letter[i]*val--;
    43         printf("%d
    ", ans);
    44     }
    45     return 0;
    46 }
     
  • 相关阅读:
    win10补丁导致打印机无法共享
    EdgexGo2.0学习-14 EdgeX2.0 AppService导出到Mqtt
    EdgexGo2.0学习-13 EdgeX2.0 编译Appservice
    winform程序在系统缩放150%时右边留空白问题解决办法
    Linux嵌入式串口转网络
    Win10 磁盘变成文件夹
    Win10下使用Gitblit
    JMeter学习笔记——Web接口测试(webservice)
    jmeter之__RandomFromMultipleVars函数使用详解
    jmeter——参数化——$__RandomFromMultipleVars()函数
  • 原文地址:https://www.cnblogs.com/wydxry/p/7253854.html
Copyright © 2011-2022 走看看