设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的更多相关文章

  1. 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 ...

  2. NEERC2012

    NEERC2012 A - Addictive Bubbles 题目描述:有一个\(n \times m\)的棋盘,还有不同颜色的棋子若干个,每次可以消去一个同种颜色的联通块,得到的分数为联通块中的棋 ...

  3. bzoj AC倒序

    Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...

随机推荐

  1. 鸟哥的linux私房菜学习笔记 __ 命令与文件的搜寻

    连续输入两次[tab]按键就能够知道使用者有多少命令可以下达.那你知不知道这些命令的完整档名放在哪里?举例来说,ls 这个常用的命令放在哪里呢? 就透过 which 或 type 来找寻吧! 范例一: ...

  2. IP地址,子网掩码,默认网关

    IP地址: 是给每个连接在Internet上的主机分配的一个32bit地址. 地址有两部分组成,一部分为网络地址,另一部分为主机地址. IP地址分为A.B.C.D.E 5类.常用的是B和C两类. 网络 ...

  3. C/C++程序终止时执行的函数——atexit()函数详解

    很多时候我们需要在程序退出的时候做一些诸如释放资源的操作,但程序退出的方式有很多种,比如main()函数运行结束.在程序的某个地方用exit()结束程序.用户通过Ctrl+C或Ctrl+break操作 ...

  4. Django authentication 使用方法

    转自 : https://docs.djangoproject.com/en/1.8/topics/auth/customizing/

  5. windows下不打开浏览器访问网页的方法

    我们打开电脑,大多时候都是打开浏览器在上网.这都是通过浏览器来实现的,然而windows下有没有办法不通过浏览器也可以像linux那样达到访问网页的目的呢?这当然少不了批处理或者VBScript.然而 ...

  6. phpmyadmin 主机名自动补全

    2015年2月9日 14:29:25 新安装的phpmyadmin在登录界面中, 主机名的输入框没有自动补全功能, 导致每次都得手动输入ip地址 找到 phpmyadmin/libraries/aut ...

  7. 【JAVA、C++】LeetCode 017 Letter Combinations of a Phone Number

    Given a digit string, return all possible letter combinations that the number could represent. A map ...

  8. mybatis中的oracle和mysql分页

    这段时间一直在用mybatis+spring+springMVC的框架,总结点东西吧. mybatis的oracle分页写法: <?xml version="1.0" enc ...

  9. QQ图片名字

    ﻩ并亲了你一下ﻩ大兔子҉҉大兔子҉҉҉҉҉҉҉҉

  10. struts2 标签问题----escape="false" 这个属性

    1.在编程过程中,会遇到这个动西,escape="false" eg: <s:fielderror escape="false"/>-------& ...