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 ...
随机推荐
- mongodb安装和运行
转载来源:https://blog.csdn.net/IT_wanghe/article/details/53884229 参考教程:http://www.runoob.com/mongodb/mon ...
- (分治法 快速幂)P1226 【模板】快速幂||取余运算 洛谷
题目描述 输入b,p,k的值,求b^p mod k的值.其中b,p,k*k为长整型数. 输入输出格式 输入格式: 三个整数b,p,k. 输出格式: 输出“b^p mod k=s” s为运算结果 输入输 ...
- PHP操作cookie
1.当只有一个参数的时候,默认是删除,响应报文里面设置了一个过去的时间 setcookie('key2'); 2.当有两个参数的时候,是设置cookie setcookie('key','value1 ...
- league之csv导出
有的时候当我们导出文件时,如果文件比较小可以使用phpexcel,但是当文件太大时就会遇到很多瓶颈(excel条数限制.导出时间太长等). 这个时候要么使用excel分批次导出,要么就需要使用csv导 ...
- Excel:11个查询函数组合
还不懂?上栗子~ 1.普通查找 根据表二中的姓名,查找表一对应的应发工资.最基础的VLOOKUP函数就能搞定. 2.反向查找 根据表二姓名,查找表一编号.但表一中编号列在姓名列之前,无法直接使用VLO ...
- Druid数据源配置
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-met ...
- Ajxa用在哪些方面(六)
Ajax只有在适当的地方才会用到,也即需要在后台进行大量数据处理(充当消息通知机制),需要频繁的定时或不定时从服务器中读取数据的时候.1.比如我们常接触电子邮件系统中,因为电子邮件系统一般都由电子邮件 ...
- 1042. Shuffling Machine (20)
Shuffling is a procedure used to randomize a deck of playing cards. Because standard shuffling techn ...
- SQL语法基础之DELETE语句
SQL语法基础之DELETE语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看帮助信息 1>.查看DELETE的帮助信息 mysql> ? DELETE Na ...
- python django基础一web框架的本质
web框架的本质就是一个socket服务端,而浏览器就是一个socker客户端,基于请求做出相应,客户端先请求,服务器做出对应响应 按照http协议的请求发送,服务器按照http协议来相应,这样的通信 ...