3555: [Ctsc2014]企鹅QQ

时间:2023-01-25 12:36:05

3555: [Ctsc2014]企鹅QQ

Time Limit: 20 Sec  Memory Limit: 256 MB
Submit: 696  Solved: 294
[Submit][Status][Discuss]

Description

PenguinQQ是中国最大、最具影响力的SNS(Social Networking Services)网站,以实名制为基础,为用户提供日志、群、即时通讯、相册、集市等丰富强大的互联网功能体验,满足用户对社交、资讯、娱乐、交易等多方面的需求。
小Q是PenguinQQ网站的管理员,他最近在进行一项有趣的研究——哪些账户是同一个人注册的。经过长时间的分析,小Q发现同一个人注册的账户名称总是很相似的,例如Penguin1,Penguin2,Penguin3……于是小Q决定先对这种相似的情形进行统计。
小Q定义,若两个账户名称是相似的,当且仅当这两个字符串等长且恰好只有一位不同。例如“Penguin1”和“Penguin2”是相似的,但“Penguin1”和“2Penguin”不是相似的。而小Q想知道,在给定的 个账户名称中,有多少对是相似的。
为了简化你的工作,小Q给你的 个字符串长度均等于 ,且只包含大小写字母、数字、下划线以及‘@’共64种字符,而且不存在两个相同的账户名称。

Input

第一行包含三个正整数 , , 。其中 表示账户名称数量, 表示账户名称长度, 用来表示字符集规模大小,它的值只可能为2或64。
若 等于2,账户名称中只包含字符‘0’和‘1’共2种字符;
若 等于64,账户名称中可能包含大小写字母、数字、下划线以及‘@’共64种字符。
随后 行,每行一个长度为 的字符串,用来描述一个账户名称。数据保证 个字符串是两两不同的。

Output

仅一行一个正整数,表示共有多少对相似的账户名称。

Sample Input

4 3 64
Fax
fax
max
mac

Sample Output

4

HINT

4对相似的字符串分别为:Fax与fax,Fax与max,fax与max,max与mac。N<=30000,L<=200,S<=64

Source

题解:显然的字符串哈希。。。
这里由于是恰好一位不一样,所以可以在进行双值哈希的时候统一抹掉那一位,然后如果仅仅是那一位不一样的话,那么剩下的部分必定哈希值一样,所以接下来排个序求出各种哈希值出现的次数,然后统计下即可(话说随机化快排居然比二分快排慢那么多是什么梗QAQ,最下面的那个是二分快排,上面是两个随机快排)
aaarticlea/png;base64,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" alt="" />
(还有我貌似成了第一个在BZOJ上面用pascal秒掉此题的人好开心^_^)
 /**************************************************************
Problem:
User: HansBug
Language: Pascal
Result: Accepted
Time: ms
Memory: kb
****************************************************************/ const p=;q=;
type arr=array[..,..] of int64;
var
i,j,k,l,m,n,t:longint;
ans,x,y:int64;ch:char;
ap:array[char] of longint;
ml,a,b:arr;
ss:ansistring;
st:array[..] of ansistring;
procedure sort(l,r:longint;var a:arr);
var i,j:longint;x,y,z:int64;
begin
i:=l;j:=r;x:=a[(l+r) div ,];y:=a[(l+r) div ,];
repeat
while (a[i,]<x) or ((a[i,]=x) and (a[i,]<y)) do inc(i);
while (a[j,]>x) or ((a[j,]=x) and (a[j,]>y)) do dec(j);
if i<=j then
begin
z:=a[i,];a[i,]:=a[j,];a[j,]:=z;
z:=a[i,];a[i,]:=a[j,];a[j,]:=z;
inc(i);dec(j);
end;
until i>j;
if i<r then sort(i,r,a);
if l<j then sort(l,j,a);
end;
begin
readln(n,m,t);
fillchar(ap,sizeof(ap),);
if t= then
begin
i:=;
for ch:='A' to 'Z' do
begin
inc(i);
ap[ch]:=i;
end;
for ch:='a' to 'z' do
begin
inc(i);
ap[ch]:=i;
end;
for ch:='' to '' do
begin
inc(i);
ap[ch]:=i;
end;
inc(i);ap['_']:=i;
inc(i);ap['@']:=i;
end
else
begin
ap['']:=;
ap['']:=;
ap['']:=;
end;
ml[,]:=;ml[,]:=;
for i:= to do
begin
ml[i,]:=(ml[i-,]*p) mod q;
ml[i,]:=(ml[i-,]*q) mod p;
end;
for i:= to n do
begin
readln(ss);
x:=;y:=;st[i]:=ss;
for j:= to m do
begin
x:=(x+(ap[ss[j]]*ml[j,]) mod q) mod q;
y:=(y+(ap[ss[j]]*ml[j,]) mod p) mod p;
end;
a[i,]:=x;a[i,]:=y;
end;
ans:=;
for i:= to m do
begin for j:= to n do
begin
b[j,]:=(a[j,]-(ap[st[j][i]]*ml[i,]) mod q+q) mod q;
b[j,]:=(a[j,]-(ap[st[j][i]]*ml[i,]) mod p+p) mod p;
end;
sort(,n,b);
b[n+,]:=-maxlongint;b[n+,]:=-maxlongint;
k:=;l:=;
for j:= to n+ do
begin
if (b[j,]<>b[k,]) or (b[j,]<>b[k,]) then
begin
ans:=ans+(l*(l-)) div ;
k:=j;l:=;
end
else inc(l);
end;
end;
writeln(ans);
readln;
end.

3555: [Ctsc2014]企鹅QQ的更多相关文章

  1. BZOJ 3555&colon; &lbrack;Ctsc2014&rsqb;企鹅QQ &lbrack;字符串哈希&rsqb;【学习笔记】

    3555: [Ctsc2014]企鹅QQ Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 2046  Solved: 749[Submit][Statu ...

  2. BZOJ 3555&colon; &lbrack;Ctsc2014&rsqb;企鹅QQ hash

    3555: [Ctsc2014]企鹅QQ Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/p ...

  3. bzoj——3555&colon; &lbrack;Ctsc2014&rsqb;企鹅QQ

    3555: [Ctsc2014]企鹅QQ Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 2617  Solved: 921[Submit][Statu ...

  4. 字符串Hash &vert;&vert; BZOJ 3555&colon; &lbrack;Ctsc2014&rsqb;企鹅QQ &vert;&vert; P4503 &lbrack;CTSC2014&rsqb;企鹅QQ

    题面:[CTSC2014]企鹅QQ 题解:无 代码: #include<iostream> #include<cstring> #include<cstdio> # ...

  5. BZOJ 3555&colon; &lbrack;Ctsc2014&rsqb;企鹅QQ

    似乎大家全部都用的是hash?那我讲一个不用hash的做法吧. 首先考虑只有一位不同的是哪一位,那么这一位前面的位上的字符一定是全部相同,后面的字符也是全部相同.首先考虑后面的字符. 我们对n个串的反 ...

  6. bzoj 3555&colon; &lbrack;Ctsc2014&rsqb;企鹅QQ【hash&plus;瞎搞】

    首先注意 先hash一下,双hash,然后枚举删去位置,把hash值排个序,把些相等的加起来统计一下对数即可 #include<iostream> #include<cstdio&g ...

  7. bzoj3555&colon; &lbrack;Ctsc2014&rsqb;企鹅QQ

    将字符串hash.不难写.然而1.注意用longlong2.数组大小注意...3.似乎别人都用的unsigned long long ?. #include<cstdio> #includ ...

  8. &lbrack;Ctsc2014&rsqb;企鹅QQ

    3555: [Ctsc2014]企鹅QQ Time Limit: 20 Sec  Memory Limit: 256 MB[Submit][Status][Discuss] Description P ...

  9. 【BZOJ3555】 &lbrack;Ctsc2014&rsqb;企鹅QQ

    BZOJ3555 [Ctsc2014]企鹅QQ Solution 只需要前缀Hash,然后考虑每一段的贡献就好了!!! 代码实现 #include<stdio.h> #include&lt ...

随机推荐

  1. Matlab读取数据中出现的问题

    在运行Matlab读取一段数据并做处理的时候,常常会提示服务器错误,但是等待一会再次运行就会成功运行. 代码如下: clc; clear all; [~,~,rawdata] = xlsread('进 ...

  2. (转载)PHPCMS V9专题路径多了一个斜杠的解决办法

    PHPCMSV9的专题,在设置生成静态并且网站的静态设置成生成在根目录的时候,专题路径的URL中会多出一个斜杠,如:http://www.2cto.com//special/ddos/ ,我只能说这是 ...

  3. C&num; 将文件嵌入DLL 。Log4net 配置

    最近在弄使用Log4net记录日志. 将配置文件封装到的DLL中. 封装步骤: 1.将配置文件添加到类库中. 2.在配置文件上右键,选择属性. 3. 此时生成类库.DLL中就存在该配置文件啦.如图: ...

  4. 阿里云上安装mysql步骤&sol; 阿里云ECS搭建Java&plus;mysql&plus;tomcat环境

    使用阿里云ECS挺长一段时间了.这两天碰巧朋友小白让我一步一步教他在ECS上搭建Java+mysql+tomcat环境,所以把在这里把步骤在这简单整理了一下,以便需要的人查阅. 我购买的阿里云服务器系 ...

  5. Codeforces 377 A Maze【DFS】

    题意:给出n*m的矩阵,矩阵由'.'和'#'组成,再给出k,表示需要在'.'处加k堵墙,使得剩下的'.'仍然是连通的 先统计出这个矩阵里面总的点数'.'为sum 因为题目说了一定会有一个解,所以找到一 ...

  6. php连接到数据库

    html代码: <form action="php_mysql_add.php" method="post"> 用户名: <input typ ...

  7. 利用rlwrap配置linux下oracle sqlplus 历史记录回调

    .下载rlwrap wget http://utopia.knoware.nl/~hlub/uck/rlwrap/rlwrap-0.42.tar.gz .解压 tar -xvzf rlwrap-0.4 ...

  8. Buffer lock

    buffer lock    Oracle 提供非常精确,有效的Row Level Lock机制,多个用户同时修改数据时,为了保护数据. 以块为单位挂起锁的情况不会发生,但这不太正确. 以块为单位的锁 ...

  9. java枚举的使用

    定义枚举 public enum YesOrNo { YES("是") , NO("否") ; private String text ; private in ...

  10. 【Codeforces 788C】The Great Mixing

    http://codeforces.com/contest/788/problem/C 显然如果有两杯一样的酒,把它们当作同一杯就好了.所以k<=1e6毫无意义. 若选的x杯酒的浓度分别为a,b ...