题解:

首先考虑暴力不行

然后采用贪心

按位展开

然后注意不能有前缀0

代码:

#include<bits/stdc++.h>
using namespace std;
long long a[],ans;
int n,flag[],f[];
char s[];
int cmp(int x,int y){return a[x]>a[y];}
int main()
{
scanf("%d",&n);
for (int i=;i<;i++)f[i]=i;
for (int i=;i<=n;i++)
{
scanf("%s",&s);
int k=;
for (int j=strlen(s)-;j>=;j--)a[s[j]-]+=k,k*=;
flag[s[]-]=;
}
sort(f,f+,cmp);
ans=;
for (int i=;i<=;i++)
if (!flag[i])
{
int k=;long long sum=;
for (int j=;j<=;j++)
if (i!=f[j])sum+=k*a[f[j]],k++;
ans=min(sum,ans);
}
printf("%lld",ans);
}

CF910C的更多相关文章

  1. 洛谷 题解 CF910C 【Minimum Sum】

    当时看到这题一脸懵逼,莫名想到了复杂度为O(10000000000*n)的算法,然而肯定会超时(废话) 算法楼上楼下都说的很清楚了 很明显这题是要用每个字母的权值进行排序.然后依次进行赋值. \(\c ...

随机推荐

  1. genisoimage命令用法

    功能说明:建立ISO 9660映像文件.  常用命令:genisoimage -o imagename.iso file 语 法:mkisofs [-adDfhJlLNrRTvz][-print-si ...

  2. Android系统init进程启动及init.rc全解析

    转:https://blog.csdn.net/zhonglunshun/article/details/78615980 服务启动机制system/core/init/init.c文件main函数中 ...

  3. IP查找所属网段

    最近同学接到阿里面试题 package io.guangsoft.analysis; /* 数据文件: 1.1.1.0/24,123 1.1.2.0/28,345 1.2.0.0/16,789 */ ...

  4. 解读:计数器Counter

    Counters: 44 File System Counters FILE: Number of bytes read=655771325 FILE: Number of bytes written ...

  5. openwrt如何查看当前使用的硬件平台

    答:输入cat /tmp/sysinfo/board_name即可获取

  6. set /p= 详解

    在批处理中回显信息有两个命令,echo和set /p=<nul,它们的共同点在于都是对程序执行信息的屏幕输出,区别在于echo是换行输出,而set /p=<nul是不换行追回输出,这样说大 ...

  7. Linux 网站文件和数据库全量备份 一键脚本(支持FTP,Google Drive)

    原文连接: https://teddysun.com/469.html 此文为转载,建议查看秋水大神的原文,排版更容易查看,另外,建议查看脚本源码,方便了解脚本运行过程, 脚本已测试,大神的脚本一如既 ...

  8. java类库字符串操作

    在java类库中,java给我们提供了字符串几个特别的操作,分别是String,Stringbuffer,Stringbuilder等.下面就对这几个类做一个简单的介绍.首先,我们先了解一下Strin ...

  9. Docker容器可以使用容器平台管理自动重启实现自修复吗?

    容器的自修复功能是经常被吹嘘的.因为容器是衣服,人躺下了,衣服也躺下了,容器平台能够马上发现人躺下了,于是可以迅速将人重新唤醒工作. 而虚拟机是房子,人躺下了,房子还站着.因而虚拟机管理平台不知道里面 ...

  10. 如何查看一个进程打开哪些fd及对应的文件或套接字操作