当前位置: 首页 > news >正文

[CTSC2014]企鹅QQ

字符串哈希

#include<cstdio>
#include<algorithm>
#include<vector>
#include<ctime>
#include<string>
#include<cstdlib>
#include<iostream>
#include<map>
#include<unordered_map>
typedef unsigned long long u64;
int n,l,s;
u64 map1[256];
u64 map2[256];
inline u64 rd(){return(u64)rand()<<46^(u64)rand()<<35^(u64)rand()<<24^rand();}
std::string str;
std::vector<u64>v;
int main(){
    srand(time(0));
    std::ios::sync_with_stdio(false),std::cin.tie(0);
    std::cin >> n >> l >> s;
    for(int i=0;i<256;++i){
        map1[i]=rd();
        map2[i]=rd();
    }
    u64 ans=0;
    for(int i=1;i<=n;++i){
        std::cin >> str;
        u64 hsh=0;
        for(int i=0;i<l;++i)hsh^=map1[i]*map2[str[i]];
        for(int i=0;i<l;++i)v.push_back(hsh^map1[i]*map2[str[i]]);
    }
    std::sort(v.begin(),v.end());
    for(std::vector<u64>::iterator l=v.begin(),r=v.begin();l!=v.end();){
        r=l;
        while(r!=v.end() && *l == *r)++r;
        --r;
        ans+=(u64)(r-l+1)*(r-l)/2,l=r+1;
    }
    std::cout << ans << '\n';
}

 

转载于:https://www.cnblogs.com/skip1978/p/10348127.html

相关文章:

  • 单词接龙---牛客网
  • Bzoj2164 采矿(线段树+树链剖分)
  • 个位数统计
  • CF528D Fuzzy Search (生成函数+FFT)
  • c++随机数引擎
  • 《学习之道》第六章番茄工作法
  • 加密_滴答~滴
  • Ext中 grid 设置行样式
  • 技术研究 | 我所了解的物联网设备渗透手段(硬件篇)
  • Exif xss
  • C语言复习1_变量与数据类型
  • linux操作文本三个命令awk、grep、sed
  • 【c#】RabbitMQ学习文档(三)Publish/Subscribe(发布/订阅)
  • 食用指南
  • ffmpeg 推送、保存rtmp 流命令
  • 345-反转字符串中的元音字母
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • CODING 缺陷管理功能正式开始公测
  • codis proxy处理流程
  • E-HPC支持多队列管理和自动伸缩
  • Flex布局到底解决了什么问题
  • HTTP请求重发
  • java第三方包学习之lombok
  • Java教程_软件开发基础
  • java小心机(3)| 浅析finalize()
  • js递归,无限分级树形折叠菜单
  • Making An Indicator With Pure CSS
  • PermissionScope Swift4 兼容问题
  • Python 反序列化安全问题(二)
  • 经典排序算法及其 Java 实现
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 一个完整Java Web项目背后的密码
  • 译米田引理
  • 在Mac OS X上安装 Ruby运行环境
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • "无招胜有招"nbsp;史上最全的互…
  • #define,static,const,三种常量的区别
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • (C++17) optional的使用
  • (solr系列:一)使用tomcat部署solr服务
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (十一)c52学习之旅-动态数码管
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)shell调试方法
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • .“空心村”成因分析及解决对策122344
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • @ConditionalOnProperty注解使用说明