【模拟】2017 Multi-University Training Contest 1 The Battle of Chibi
acm.hdu.edu.cn/showproblem.php?pid=5542
【Accepted】
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<cmath> using namespace std;
typedef long long ll;
const ll mod=1e9+;
const int maxn=1e5+;
char str[maxn];
ll a[][maxn];
bool vis[];
int rk[];
int l[];
bool lower(int x,int y)
{
if(l[x]!=l[y]) return l[x]<l[y];
for(int i=maxn-;i>=;i--)
{
if(a[x][i]!=a[y][i]) return a[x][i]<a[y][i];
}
return false;
}
int n;
int main()
{
int cas=;
while(~scanf("%d",&n))
{
memset(a,,sizeof(a));
memset(vis,false,sizeof(vis));
memset(l,,sizeof(l));
for(int i=;i<n;i++)
{
scanf("%s",str);
int len=strlen(str);
int cnt=;
for(int k=len-;k>=;k--)
{
a[str[k]-'a'][cnt++]++;
}
if(len!=)
{
vis[str[]-'a']=true;
} }
for(int i=;i<;i++)
{
for(int k=;k<maxn-;k++)
{
a[i][k+]+=(a[i][k]/);
a[i][k]=a[i][k]%;
}
rk[i]=i;
}
for(int i=;i<;i++)
{
for(int k=maxn-;k>=;k--)
{
if(a[i][k]>)
{
l[i]=k;
break;
}
}
}
for(int i=;i<;i++)
{
for(int k=i+;k<;k++)
{
if(lower(rk[k],rk[i]))
{
swap(rk[i],rk[k]);
}
}
}
for(int i=;i<;i++)
{
if(!vis[rk[i]])
{
int x=rk[i];
for(int k=i-;k>=;k--)
{
rk[k+]=rk[k];
}
rk[]=x;
break;
}
}
ll ans=;
for(int i=;i<;i++)
{
ll now=;
ll num=;
for(int k=;k<=l[rk[i]];k++)
{
num=(num+(ll)a[rk[i]][k]*now%mod)%mod;
now=(now*)%mod;
}
ans=(ans+i*num%mod)%mod;
}
printf("Case #%d: %d\n",++cas,(int)ans); }
return ;
}
【模拟】2017 Multi-University Training Contest 1 The Battle of Chibi的更多相关文章
- 2017 Wuhan University Programming Contest (Online Round) C. Divide by Six 分析+模拟
/** 题目:C. Divide by Six 链接:https://oj.ejq.me/problem/24 题意:给定一个数,这个数位数达到1e5,可能存在前导0.问为了使这个数是6的倍数,且没有 ...
- 2017 Wuhan University Programming Contest (Online Round) Lost in WHU 矩阵快速幂 一个无向图,求从1出发到达n最多经过T条边的方法数,边可以重复经过,到达n之后不可以再离开。
/** 题目:Lost in WHU 链接:https://oj.ejq.me/problem/26 题意:一个无向图,求从1出发到达n最多经过T条边的方法数,边可以重复经过,到达n之后不可以再离开. ...
- 2017 Wuhan University Programming Contest (Online Round) B Color 树形dp求染色方法数
/** 题目:Color 链接:https://oj.ejq.me/problem/23 题意:给定一颗树,将树上的点最多染成m种颜色,有些节点不可以染成某些颜色.相邻节点颜色不同.求染色方法数. 思 ...
- 2017 Wuhan University Programming Contest (Online Round) D. Events,线段树区间更新+最值查询!
D. Events 线段树区间更新查询区间历史最小值,看似很简单的题意写了两天才写出来. 题意:n个数,Q次操作,每次操作对一个区间[l,r]的数同时加上C,然后输出这段区间的历史最小值. 思路:在线 ...
- The 2015 China Collegiate Programming Contest C. The Battle of Chibi hdu 5542
The Battle of Chibi Time Limit: 6000/4000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Othe ...
- 2017 Multi-University Training Contest - Team 9 1004&&HDU 6164 Dying Light【数学+模拟】
Dying Light Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Tot ...
- 2017 Multi-University Training Contest - Team 3 Kanade's sum hd6058
地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=6058 题目: Kanade's sum Time Limit: 4000/2000 MS (J ...
- HDU 6043 - KazaQ's Socks | 2017 Multi-University Training Contest 1
/* HDU 6043 - KazaQ's Socks [ 找规律 ] | 2017 Multi-University Training Contest 1 题意: 一共 n 双袜子编号 1~n,每天 ...
- 2017 Multi-University Training Contest - Team 9 1005&&HDU 6165 FFF at Valentine【强联通缩点+拓扑排序】
FFF at Valentine Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
随机推荐
- Suricata的总体架构
Suricata的总体架构 报文检测系统通常四大部分,报文获取.报文解码.报文检测.日志记录:suricata不同的功能安装模块划分,一个模块的输出是另一个模块的输入,suricata通过线程将模块 ...
- AJPFX总结集合的概念
//java 中集合的概述========================================================== 集合的概念: 为 ...
- AJPFX浅谈Java 性能优化之垃圾回收(GC)
★JVM 的内存空间 在 Java 虚拟机规范中,提及了如下几种类型的内存空间: ◇栈内存(Stack):每个线程私有的.◇堆内存(Heap):所有线程公用的.◇方法区(Method Area):有点 ...
- SEO & HTML语义化
SEO SEO的概念:搜索引擎优化,常见的搜索引擎有百度.谷歌等.优化的话,就是通过我们的处理,使得我们的网站在搜索引擎下有一个理想的结果. SEO的目的:当用户在搜索引擎上搜索关键词的时候,看到我们 ...
- 最新版kubernetesV1.14.1集群一键自动部署脚本
部署命令如下:详情及注意事项请看README.md git clone https://github.com/luckman666/deploy_Kubernetes-v1.14.1.git cd d ...
- php配置之include_path
在php.ini中配置include_path,可在引入文件时直接引入配置目录下的文件. 项目中就可以直接 引入/var/www/phpxwlib及/var/www/huicuiserver/libs ...
- IOS数组
/*******************************************************************************************NSArray ...
- Android掌中游斗地主游戏源码完整版
源码大放送-掌中游斗地主(完整版),集合了单机斗地主.网络斗地主.癞子斗地主等,有史以来最有参考价值的源码,虽然运行慢了一点但是功能正常,用的是纯java写的. 项目详细说明:http://andro ...
- 从零开始部署小型企业级虚拟桌面 -- Vmware Horizon View 6 For Linux VDI
环境说明 注,本套环境所用机器全部是64位的. 管理服务器载体:安装win7操作系统,通过VMware Workstation安装4台虚拟机,用作vCenter,Connection Server,D ...
- subprocess使用小方法
import subprocess def create_process(cmd): p = subprocess.Popen(cmd, shell=True, stdout=subp ...