/*hdu6034[模拟] 2017多校1*/
//暴力模拟26个26进制数即可, 要注意进位
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const double eps=1e-;
const int inf=0x3f3f3f3f;
struct node{
char num[];
int ch,high;
}bits[];
const int mod=;
int n,len,pos,mark[],w[],kase=;
char str[];
LL fastpow(LL a,LL b){
LL ret=,x=a;
while(b){
if(b&){
ret=(ret*x)%mod;
}
x=(x*x)%mod;
b>>=;
}
return ret;
}
bool cmp(node a,node b){
if(a.high!=b.high){
return a.high>b.high;
}
else{
for(int i=a.high-;i>=;i--){
if(a.num[i]>b.num[i]){
return ;
}
else if(a.num[i]<b.num[i]){
return ;
}
}
}
return ;
}
LL cal(node& a){
LL ret=;
for(int i=;i<a.high;i++){
if(a.num[i]){
ret=(ret+((LL)a.num[i]*fastpow(26LL,i))%mod)%mod;
}
}
return ret;
}
void solve(){
LL sum=;
sort(bits,bits+,cmp);
for(int i=;i<;i++){
if(bits[i].high) w[bits[i].ch]=-i;
if(mark[bits[i].ch]&&w[bits[i].ch]==){
int pos=i;
while(mark[bits[pos].ch]&&pos) pos--;
for(int j=pos+;j<;j++) w[bits[j].ch]++;
w[bits[pos].ch]=;
}
}
for(int i=;i<;i++){
sum=(sum+w[bits[i].ch]*cal(bits[i]))%mod;
}
printf("Case #%d: %lld\n",kase++,sum);
}
int main(){
while(~scanf("%d",&n)){
memset(bits,,sizeof(bits));
memset(w,,sizeof(w));
memset(mark,,sizeof(mark));
for(int i=;i<;i++) bits[i].ch=i;
for(int i=;i<n;i++){
scanf("%s",str);
len=strlen(str);
mark[str[]-'a']++;
for(int i=;i<len;i++){
pos=len-i-;
bits[str[i]-'a'].high=max(bits[str[i]-'a'].high,pos+);
bits[str[i]-'a'].num[pos]++;
while(pos<&&bits[str[i]-'a'].num[pos]>=){
int k=bits[str[i]-'a'].num[pos]/;
bits[str[i]-'a'].num[pos]-=;
bits[str[i]-'a'].num[++pos]++;
}bits[str[i]-'a'].high=max(bits[str[i]-'a'].high,pos+);
}
}solve();
}
return ;
}

hdu6034[模拟] 2017多校1的更多相关文章

  1. hdu6136[模拟+优先队列] 2017多校8

    有点麻烦.. /*hdu6136[模拟+优先队列] 2017多校8*/ #include <bits/stdc++.h> using namespace std; typedef long ...

  2. 2017 多校5 hdu 6093 Rikka with Number

    2017 多校5 Rikka with Number(数学 + 数位dp) 题意: 统计\([L,R]\)内 有多少数字 满足在某个\(d(d>=2)\)进制下是\(d\)的全排列的 \(1 & ...

  3. 2017 多校5 Rikka with String

    2017 多校5 Rikka with String(ac自动机+dp) 题意: Yuta has \(n\) \(01\) strings \(s_i\), and he wants to know ...

  4. 2017 多校4 Wavel Sequence

    2017 多校4 Wavel Sequence 题意: Formally, he defines a sequence \(a_1,a_2,...,a_n\) as ''wavel'' if and ...

  5. 2017 多校4 Security Check

    2017 多校4 Security Check 题意: 有\(A_i\)和\(B_i\)两个长度为\(n\)的队列过安检,当\(|A_i-B_j|>K\)的时候, \(A_i和B_j\)是可以同 ...

  6. 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 ...

  7. 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 ...

  8. 2017 多校1 I Curse Myself

    2017 多校2 I Curse Myself(第k小生成树) 题目: 给一张带权无向连通图,该图的任意一条边最多只会经过一个简单环,定义\(V(k)为第k小生成树的权值和\),求出\(\sum_{k ...

  9. hdu6134[莫比乌斯反演] 2017多校8

    /*hdu6134[莫比乌斯反演] 2017多校8*/ #include <bits/stdc++.h> using namespace std; typedef long long LL ...

随机推荐

  1. 【TensorFlow入门完全指南】神经网络篇·MLP多层感知机

    前面的不做过多解释了. 这里定义了两个占位符,各位也知道,在训练时,feed_dict会填充它们. 定义相关网络. 这里是权值矩阵和偏差. 这里是实例化了网络,定义了优化器和损失,和上一篇一样. 最后 ...

  2. 使Win10用户获得特殊权限以便删除相应文件(夹)

    依次访问: 本地用户和组(右击“此电脑”): 用户: 右击:当前用户名: 属性: 添加: 输入:System Managed Accounts Group: 检查名称(可选): 确定: 重启电脑. 参 ...

  3. linux概念和体系

    1. Linux开机启动 2. Linux文件管理 3. Linux的架构 4. Linux命令行与命令 5. Linux文件管理相关命令 6. Linux文本流 7. Linux进程基础 8. Li ...

  4. 有关mybatis的动态sql

    一般地,实现动态SQL都是在xml中使用等标签实现的. 我们在这里使用SQL构造器的方式, 即由abstract sql写出sql的过程, 当然感觉本质上还是一个StringBuilder, 来手动生 ...

  5. UVA 1606 Amphiphilic Carbon Molecules 两亲性分子 (极角排序或叉积,扫描法)

    任意线可以贪心移动到两点上.直接枚举O(n^3),会TLE. 所以采取扫描法,选基准点,然后根据极角或者两两做叉积比较进行排排序,然后扫一遍就好了.旋转的时候在O(1)时间推出下一种情况,总复杂度为O ...

  6. Memcached笔记之分布式算法

    1.根据余数进行分散:离散度高,但是增加或者移除服务器的时候,缓存充足的代价非常大.添加服务器后,余数就会产生巨变,这样就无法获取与保存时相同的服务器,从而音像缓存的命中率. 2.Consistent ...

  7. 【转】 树莓派初次启动攻略for Mac

    http://blog.csdn.net/rk2900/article/details/8632713/ 树莓派初次启动攻略for Mac made by Rk 感谢浙江大学<嵌入式系统> ...

  8. jsp页面之间传值 以及如何取出url的参数

    写项目时往往要写多个页面,而多个jsp之间传值有时是必要的,这时可以用到如下方法: 而在另一个页面取值可以用:${param.xxx}   此处的xxx就是要传递的值

  9. eubacteria|endosymbiosis|基因转移

    5.11线粒体和叶绿体是通过内共生进化而来的 初始细胞俘获有功能的真细菌(eubacteria)进入细胞内,该细菌逐渐演化为细胞器,这种现象称为内共生(endosymbiosis),所以该细胞器携带细 ...

  10. javaweb基础(12)_session详解

    一.Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务 ...