2017多校1 hdu-Balala Power!
其实这道题的思路挺简单的,就是找在第一位置没有出现过并且权值小的那个字母为0.
把a~z按照权值排序,其实难就难在这里,权值很大我们怎么给他排序。
其实可以开个数组来存他们每位数是多少,然后给他们比个大小就好了。
后面排好序就从25开始依次递减
bool cmp(int a, int b) {
for (int i=ans-1; i>=0; i--) {
if (jishu[a][i]!=jishu[b][i]) {
return jishu[a][i]<jishu[b][i];
}
}
return 0;
}
其实就是用一个数组排序来代替那个数的位置
/* gyt
Live up to every day */
#include<cstdio>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<vector>
#include<stack>
#include<cstring>
#include<queue>
#include<set>
#include<string>
#include<map>
#include <time.h>
#define PI acos(-1)
using namespace std;
typedef long long ll;
typedef double db;
const int maxn = 1e5+;
const ll maxm = 1e7;
const ll mod = ;
const int INF = <<;
const db eps = 1e-;
int vis[];
ll num[maxn];
ll sum[maxn];
ll jishu[][maxn];
ll n,ans,cnt,res,x;
char a[maxn];
int ca=;
void initt() {
num[]=;
for (int i=; i<maxn; i++) {
num[i]=num[i-]*%mod;
}
}
void init() {
ans=,cnt=-,res=,x=;
memset(jishu, , sizeof(jishu));
memset(sum, , sizeof(sum));
memset(vis, , sizeof(vis));
}
bool cmp(int a, int b) {
for (int i=ans-; i>=; i--) {
if (jishu[a][i]!=jishu[b][i]) {
return jishu[a][i]<jishu[b][i];
}
}
return ;
}
void solve() {
initt();
while(scanf("%lld", &n)!=EOF) {
init();
for (int i=; i<n; i++){
scanf("%s", a);
ll len=strlen(a);
if (len>) {
vis[a[]-'a']=;
}
int xx=;
for (int j=len-; j>=; j--) {
int v=a[j]-'a';
jishu[v][xx]++;
sum[v]+=num[xx];
sum[v]%=mod;
int cnt=xx;
xx++;
}
ans=max(ans, len);
}
for(int i=;i<;i++){
for(int j=;j<ans;j++){
jishu[i][j+]+=jishu[i][j]/;
jishu[i][j]%=;
}
while(jishu[i][ans]){
jishu[i][ans+]+=jishu[i][ans]/;
jishu[i][ans++]%=;
}
}
for (int i=; i<; i++) a[i]=i;
sort(a,a+,cmp);;
for (int i=;i<;i++) {
if (!vis[a[i]]) {
cnt=a[i]; break;
}
}
for (int i=; i>=; i--) {
if (a[i]==cnt) continue;
res+=x*sum[a[i]]%mod;
res%=mod;
x--;
}
printf("Case #%d: %lld\n", ca++, res);
} }
int main() {
// freopen("in.txt","r",stdin);
// freopen("kingdom.in","r",stdin);
//freopen("kingdom.out","w",stdout);
int t=;
// scanf("%d", &t);
while(t--) solve();
}
2017多校1 hdu-Balala Power!的更多相关文章
- 2017 多校训练 1002 Balala Power!
Balala Power! Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)T ...
- 2017 多校3 hdu 6061 RXD and functions
2017 多校3 hdu 6061 RXD and functions(FFT) 题意: 给一个函数\(f(x)=\sum_{i=0}^{n}c_i \cdot x^{i}\) 求\(g(x) = f ...
- 2017 多校2 hdu 6053 TrickGCD
2017 多校2 hdu 6053 TrickGCD 题目: You are given an array \(A\) , and Zhu wants to know there are how ma ...
- 2017 多校5 hdu 6093 Rikka with Number
2017 多校5 Rikka with Number(数学 + 数位dp) 题意: 统计\([L,R]\)内 有多少数字 满足在某个\(d(d>=2)\)进制下是\(d\)的全排列的 \(1 & ...
- 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! | 2017 Multi-University Training Contest 1
/* HDU 6034 - Balala Power! [ 大数进位,贪心 ] 题意: 给一组字符串(小写英文字母),将上面的字符串考虑成26进制数,每个字母分配一个权值,问这组数字加起来的和最大是多 ...
- HDU 6034 17多校1 Balala Power!(思维 排序)
Problem Description Talented Mr.Tang has n strings consisting of only lower case characters. He want ...
- 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) ...
- hdu 6034 B - Balala Power! 贪心
B - Balala Power! 题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=6034 题面描述 Talented Mr.Tang has n st ...
随机推荐
- 学习DRF之前须知知识点
在学习DRF之前~我们要先复习一些知识点~~ FBV和CBV 学习Django的时候~我们已经学习过了CBV以及FBV~~我们来复习一下~~ 什么是FBV和CBV呢~~ FBV 基于函数的视图 CBV ...
- leetcode 字符串类型题
1,Vaild Palindrome bool isPalindrome(string& s) { transform(s.begin(), s.end(), s.begin(), tolow ...
- VM 端口映射问题
环境: 宿主机:WIN 10 --192.168.9.87 虚拟机:CentOS ---192.168.255.129 联通模式:NAT模式 一.VM做端口映射 1.为了方便管理,设置虚拟机为静态IP ...
- 安恒7月赛wp
1.[order] 这道题,发现order参数处有注入点,于是就使用sqlmap盲注,emmmm,学到了sqlmap的一些小窍门. 首先,解题的语句是: sqlmap -u "htt ...
- css重要知识点
1.float:left;表示靠左显示.它是相对于距离最近的且以relative作为position的父元素而言的. 2.块级元素和行内元素 块级元素:占据了一个矩形框的元素,display属性的值为 ...
- 489. Robot Room Cleaner扫地机器人
[抄题]: Given a robot cleaner in a room modeled as a grid. Each cell in the grid can be empty or block ...
- IOS开发之无法选择模拟器显示NO Scheme
1. 不是 文件冲突的 看这个链接https://blog.csdn.net/sanpintian/article/details/7377365 2.文件冲突的 打开工程文件. 打开 直接 搜索 ...
- Bootstrap(5)栅格系统
一.移动设备优先 在 HTML5 的项目中,我们做了移动端的项目.它有一份非常重要的 meta,用于设置屏幕和设备等宽以及是否运行用户缩放,及缩放比例的问题. //分别为:屏幕宽度和设备一致.初始缩放 ...
- 37-Arrays.sort() 由大到小排序 和 对象数组排序
1. 由大到小排序: 2. 对象数组排序: 1. 由大到小排序: 注意:必需是Integer 类型的数组!!! 方法一: import java.util.Arrays; import java.ut ...
- YII2中ActiveDataProvider与GridView的配合使用
YII2中ActiveDataProvider可以使用yii\db\Query或yii\db\ActiveQuery的对象,方便我们构造复杂的查询筛选语句. 配合强大的GridView,快速的显示我们 ...