bzoj3067: Hyperdrome
2024-04-08 09:58:59
不难想到前缀和后按位hash,其实就是当成一个二进制数嘛
有hash的奇技淫巧,不%不知道...
第一次在bzoj跑到前十真是感天动地 神仙请屏蔽自带巨大常数的蒟蒻
#include<cstdio> #include<iostream> #include<cstring> #include<cstdlib> #include<algorithm> #include<cmath> using namespace std; typedef long long LL; const int _=1e2; const int maxn=3*1e5+_; const int maxc=2*26+10; const int hmod=8388607;LL Bin[maxn]; struct Hash {int first[hmod],last[hmod],nxt[maxn];int len,c[maxn];LL d[maxn];void insert(LL k){int x=k&hmod;for(int i=first[x];i;i=nxt[i])if(d[i]==k){c[i]++;return ;}int now=++len;if(first[x]==0)first[x]=last[x]=now;else nxt[last[x]]=now,last[x]=now;d[now]=k,c[now]++;} int getsum(LL k){int x=k&hmod;for(int i=first[x];i;i=nxt[i])if(d[i]==k)return c[i];return 0;} }H;int n,a[maxn];bool v[maxc]; char ss[maxn]; int main() {Bin[0]=1;for(int i=1;i<maxc;i++)Bin[i]=Bin[i-1]*2;scanf("%d%s",&n,ss+1);LL ans=0; LL sum=0;H.insert(sum);for(int i=1;i<=n;i++){if('a'<=ss[i]&&ss[i]<='z')a[i]=ss[i]-'a'+1;else a[i]=ss[i]-'A'+27;v[a[i]]=true;sum^=Bin[a[i]-1];ans=ans+H.getsum(sum);for(int j=1;j<=52;j++)if(v[j])ans=ans+H.getsum(sum^Bin[j-1]);H.insert(sum);}printf("%lld\n",ans);return 0; }
转载于:https://www.cnblogs.com/AKCqhzdy/p/10493634.html
bzoj3067: Hyperdrome相关推荐
最新文章
- 漫画 | 产品经理的八大罪状
- 查看MYSQL数据库中所有用户及拥有权限
- 基于SSM实现校园失物招领系统
- opencv 直线检测笔记
- 菜鸟学SSH(八)——Hibernate对象的三种状态
- python 执行js_Python爬虫之记录一次下载验证码的尝试
- 【优化算法】果蝇算法(FOA)【含Matlab源码 1568期】
- (CODE)计算机视觉引论及数字成像系统
- a boo peek_|音译|171120*歌词ΓRed Velvet - Peek-A-Boo
- 房子装修选择自装,要敲墙如何在手机上申请住建局装修备案,几分钟即可拿到电子版备案通知书
- 电子实验室仪器使用大全
- vc 鼠标移动画直线
- java 中文大写金额_java编写的金额转中文大写
- 计算机淡蓝色ppt背景,计算机图表蓝色边框PPT模板.ppt
- StandardEngine[Catalina].StandardHost[localhost].StandardContext[]
- 20170704总结
- rust和gta5哪个吃配置_10款游戏体感嗨翻天的Steam大作,GTA5险无缘榜单,吃鸡仅排第三...
- 浏览器支持字体大小情况 以及 Chrome设置小于12px的字体的处理方案
- iOS---修改Xcode7建立的工程名称
- Android开发实战《智慧北京》——4.WebView的使用
热门文章
- c语言字符数组赋值_C语言关于结构体字符成员元素赋值的方法
- plaintextedit指定一行一行的高亮显示_RDKit | 基于RDKit的指定原子或键高亮
- linux cetos7关闭防火墙
- 高质量linux c编程指南,《linux c编程指南》学习手记5
- html网页跟随滚轮变化,实现桌面和移动浏览器元素随页面滚动产生动画
- python库怎么绘画_python中的turtle库(图形绘画库)
- linux php pdo dblib,PDO_DBLIB (MSSQL) on Ubuntu Server
- 【问题记录】阿里云轻量云服务器Ubuntu安装图形化桌面+远程连接
- 人脸对齐(四)--CLM算法及概率图模型改进
- 内存分配失败错误处理