6034 Balala Power! (17多校)
题目大意:给出的字符串,每个字符建立一种与0-25的对应关系。然后每个字符串看成是一个26进制的数。问能获得的数的总和的最大值。(最后对1e9+7取模)。
题目思考:把每个字符的贡献值看做一个26进制数字,贪心排序后,确保没有前导零。写的要规范点,卡时间。
#include <stdio.h>
#include <string.h>
#include <vector>
#include<math.h>
#include <algorithm>
#include<iostream>
#define INF 0x3f3f3f3f
using namespace std;
const long long mod = +;
const int MAXSIZE = ;
string s[MAXSIZE];
long long var[MAXSIZE];
long long k[MAXSIZE]; struct node
{
int op,id;
int var[MAXSIZE];
bool operator < (const node &a)const
{
for(int i=MAXSIZE-;i>=;i--)
{
if(var[i] != a.var[i])
return var[i] > a.var[i];
}
return ;
}
}p[]; int main()
{
int n,cns=;
while(scanf("%d",&n)!=EOF)
{
for(int i=;i<;i++)
{
p[i].id = i;
p[i].op = ;
for(int j=;j<MAXSIZE;j++)
p[i].var[j]=;
} for(int i=;i<n;i++)
{
cin>>s[i];
int len = s[i].size();
if(len > )
p[s[i][]-'a'].op = ;
for(int j=;j<len;j++)
{
int id = s[i][len-j-] - 'a';
p[id].var[j]++;
}
} for(int i=;i<;i++)
{
for(int j=;j<MAXSIZE;j++)
{
p[i].var[j+] += p[i].var[j]/;
p[i].var[j] = p[i].var[j]%;
}
} sort(p,p+); int v = ;
for(int i=;i<;i++)
var[p[i].id] = v--; int pos = ;
while(pos && p[pos].op)
{
swap(var[p[pos].id],var[p[pos-].id]);
pos--;
} long long ans = ,num; for(int i=;i<n;i++)
{
int len = s[i].size();
num=;
for(int j=;j<len;j++)
{
num = (num* + var[s[i][j]-'a'])%mod;
}
ans = (ans+num)%mod;
}
printf("Case #%d: %lld\n",cns++,ans);
}
return ;
}
6034 Balala Power! (17多校)的更多相关文章
- HDU 6034 - Balala Power! | 2017 Multi-University Training Contest 1
/* HDU 6034 - Balala Power! [ 大数进位,贪心 ] 题意: 给一组字符串(小写英文字母),将上面的字符串考虑成26进制数,每个字母分配一个权值,问这组数字加起来的和最大是多 ...
- 2017ACM暑期多校联合训练 - Team 1 1002 HDU 6034 Balala Power! (字符串处理)
题目链接 Problem Description Talented Mr.Tang has n strings consisting of only lower case characters. He ...
- HDU 6034 Balala Power!(贪心+排序)
Balala Power! Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) ...
- 2017 Multi-University Training Contest - Team 1 1002&&HDU 6034 Balala Power!【字符串,贪心+排序】
Balala Power! Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)T ...
- hdu 6034 Balala Power!
Balala Power! Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)T ...
- HDU 6034 Balala Power!【排序/进制思维】
Balala Power![排序/进制思维] Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java ...
- HDU 6034 Balala Power! —— Multi-University Training 1
Talented Mr.Tang has nn strings consisting of only lower case characters. He wants to charge them wi ...
- HDU 6034 Balala Power! (贪心+坑题)
题意:给定一个 n 个字符串,然后问你怎么给 a-z赋值0-25,使得给定的字符串看成26进制得到的和最大,并且不能出现前导0. 析:一个很恶心的题目,细节有点多,首先是思路,给定个字符一个权值,然后 ...
- HDU 6034 17多校1 Balala Power!(思维 排序)
Problem Description Talented Mr.Tang has n strings consisting of only lower case characters. He want ...
随机推荐
- thinkphp中用ajax对数据库进行操作
删除和查看详情操作的共同语句:就是怎么显示表? 1.在主体中写表的开头行,想要显示的内容,并且加载数据也要显示的地方也建张表 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 & ...
- mysql 将一张表的数据更新到另外一张表中
update 更新表 set 字段 = (select 参考数据 from 参考表 where 参考表.id = 更新表.id); update table_2 m set m.column = ...
- 信用评分卡 (part 6 of 7)
python信用评分卡(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_camp ...
- maven_常用命令
清理编译好的文件 mvn clean 编译文件(只是编译主目录文件) mvn compile 编译测试文件(也会编译主文件) mvn test 打包 mvn package 将项目发布到本地仓库 mv ...
- curator操作zookeeper
使用zookeeper原生API实现一些复杂的东西比较麻烦.所以,出现了两款比较好的开源客户端,对zookeeper的原生API进行了包装:zkClient和curator.后者是Netflix出版的 ...
- Accord.NET Framework 介绍
阅读目录 1.基本功能与介绍 Accord.NET Framework是在AForge.NET项目的基础上封装和进一步开发而来.因为AForge.NET更注重与一些底层和广度,而Accord.NET ...
- idea代码回退到前面的版本
好多时候一个项目添加了新功能,导致整个项目不能运行,而之前的版本又没有保存.怎么办了?回退到以前的版本就OK啦, 没错IDEA就是这个智能化. 第一步:点击项目名称->右键->选择Loca ...
- Maven入门:使用Nexus搭建Maven私服及上传下载jar包
一. 私服搭建及配置 1 . 私服简介 私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件.有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓 ...
- golang实现tcp编程
实现简单的tcp服务 package main import ( "fmt" "net" ) func main() { fmt.Println("服 ...
- 算法实践——舞蹈链(Dancing Links)算法求解数独
在“跳跃的舞者,舞蹈链(Dancing Links)算法——求解精确覆盖问题”一文中介绍了舞蹈链(Dancing Links)算法求解精确覆盖问题. 本文介绍该算法的实际运用,利用舞蹈链(Dancin ...