BZOJ3067 : Hyperdrome
设f[i][j]表示前i个字母中字母j出现的次数对2取模的结果。
若[l,r]经过重组可以形成回文串,则需满足f[l-1][j]与f[r][j]至多有1位不同。
将f[i]用一个long long表示,枚举不同的那一位,用Hash表支持查询即可。
时间复杂度$O(52n)$。
#include<cstdio>
#define M 8388607
typedef long long ll;
char ch;int n,i;ll x,y,ans;
struct E{ll x;int v;E*nxt;}*g[M+1],pool[300010],*cur=pool,*p;
inline void ins(ll x){
int i=x&M;
for(p=g[i];p;p=p->nxt)if(p->x==x){p->v++;return;}
p=cur++;p->x=x;p->v=1;p->nxt=g[i];g[i]=p;
}
inline int ask(ll x){
for(p=g[x&M];p;p=p->nxt)if(p->x==x)return p->v;
return 0;
}
int main(){
for(ins(0),scanf("%d",&n);n--;ins(y=x)){
while(!((((ch=getchar())>='a')&&(ch<='z'))||((ch>='A')&&(ch<='Z'))));
for(ans+=ask(x=y^(1LL<<(ch<='Z'?ch-'A':ch-'a'+26))),i=0;i<52;i++)ans+=ask(x^(1LL<<i));
}
return printf("%lld",ans),0;
}
BZOJ3067 : Hyperdrome的更多相关文章
- 2012-2013 ACM-ICPC Northeastern European Regional Contest (NEERC 12)
Problems # Name A Addictive Bubbles1 addictive.in / addictive.out 2 s, 256 MB x438 B Blin ...
- NEERC2012
NEERC2012 A - Addictive Bubbles 题目描述:有一个\(n \times m\)的棋盘,还有不同颜色的棋子若干个,每次可以消去一个同种颜色的联通块,得到的分数为联通块中的棋 ...
- bzoj AC倒序
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...
随机推荐
- [LA3026]Period
[LA3026]Period 试题描述 For each prefix of a given string S with N characters (each character has an ASC ...
- notepad正则表达式
文件名称匹配 文件名称: boost_chrono-vc100-mt-1_49.dll 对应的notepad正则表达式: \w*_\w*-\w*-\w*-\w*-\w*.dll 移除空行 查找目标: ...
- 大数据之ETL设计详解
ETL是BI项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败.ETL也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL运行效率更 ...
- Binary Tree Level Order Traversal
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...
- 推荐一篇java抽象类和接口区别的文章
写的不错,http://dev.yesky.com/436/7581936.shtml
- apache AllowEncodedSlashes 允许URL中对路径分隔符进行编码
2013年11月29日 10:35:32 情景: 你想通过在当前的URL中记录来源页面的URL,以便处理完请求后再跳转回来源页: http://www.example1.com/refer/http: ...
- Linux服务器通过rz/sz轻松上传下载文件
Linux服务器通过命令行远程访问时,上传文件还需要ftp所以不太方便,可以使用rz这个小工具来上传不太大的文件,方法如下: 输入rz,如果提示命令不存在,证明还没有安装,以CentOS为例,安装命令 ...
- Java for LeetCode 060 Permutation Sequence
The set [1,2,3,…,n] contains a total of n! unique permutations. By listing and labeling all of the p ...
- Python -- BeautifulSoup的学习使用
BeautifulSoup4.3 的使用 下载和安装 # 下载 http://www.crummy.com/software/BeautifulSoup/bs4/download/ # 解压后 使用r ...
- java获取本机IP地址
转载自:http://blog.csdn.net/thunder09/article/details/5360251 在网上找了几个用java获取本机IP地址的代码,发现都少都有些不完美,自己整理了一 ...