本题目来自five20的周末考试题。

  

Description

  给定一个 0/1 序列,求其中满足 " ⺉ " 性质的子串个数。
  " ⺉ " 性质解释:
  " ⺉ " 性质的子串满足:将该子串先反转,再把每位上的数取反(即 0 变 1,1 变 0 )后得到的新串和原串相同。(举
  例 : 1010 满足 " ⺉ " 性质,因为先变为 0101 ,再取反为 1010 和原串相同)
Input Format
  第一行只含一个 n ,表示 0/1 序列⻓度。
  第二行为⻓度为 n 的 0/1 序列。
Output Format
  一个数,表示 0/1 序列中满足 " ⺉ " 性质的子序列个数(由于答案可能很大,对 233333333 取模)。
Sample
  Input
  7
  1011001
  Output
  6
Explana on
  样例中满足 " ⺉ " 性质的 6 个子序列分别是: 2 个 10 ,2 个 01 ,1 个 1100 ,1 个 011001 。Subtasks
  因为题目可能过于毒瘤,如果无法完全解决问题,可以尝试解决部分子任务。
测试点 N
1 N ≤ 1000
2 N ≤ 1000
3 N ≤ 1000
4 N ≤ 1000
5 N ≤ 10000
6 N ≤ 10000
7 N ≤ 10000
8 N ≤ 10000
9 N = 520520
10 N = 520520
11 N = 520520
12 N = 520520
13 N = 2333333
14 N = 2333333
15 N = 2333333
16 N = 2333333
17 N = 6666666
18 N = 6666666
19 N = 10000000
20 N = 10000000


  分析:当时考试的时候还以为这是什么数位DP的问题(而且当时也没学manacher,也不太擅长字符串算法什么的),由于蒟蒻真的不擅长DP于是就打了个暴力水了25分,然后考完five20大佬说这是manacher算法题。然后今天学了一下manacher,A了这道题。实际上仔细分析这道题比一般的manacher还要简单一些,把判断条件改为不等,那么这样连中间的插入字符都不需要了,直接一个for循环套个manacher主体就过了。

  Code:

//It is made by HolseLee on 30th Apr 2018
//five20's test
#include<bits/stdc++.h>
using namespace std;
const int mod=;
const int N=1e7+;
long long n,ans,p[N];char s[N];
int main()
{
freopen("ghost.in","r",stdin);
freopen("ghost.out","w",stdout);
scanf("%lld%s",&n,s+);long long id,mx=;
for(int i=;i<=n;i++){
if(i<mx)p[i]=min(p[id*-i],mx-i);
while(i+p[i]+<=n&&i-p[i]>=&&s[i+p[i]+]!=s[i-p[i]])p[i]++;
if(p[i]+i>mx)id=i,mx=p[i]+i;
ans=(ans+p[i])%mod;}
printf("%lld",ans);return ;
}

鬼题Ghost [manacher]的更多相关文章

  1. Ryz的鬼题

    蚂蚁(ant)[题目描述]  小 R 种了一棵苹果树,这棵树上有 n 个节点(标号从 0 到 n-1),有 n-1 条树枝连接这  n 个节点,这 n 个节点相互连通.每条树枝的长度为 1.  苹果树 ...

  2. 一道叉姐的AC自动机鬼题

    题面描述丢失了... 给n个串模板串,然后再给你m个串,对于这m个串的每个串,问在[L,R]的模板串中,在多少个串中出现过; 这题的正解是对于后m个串建AC自动机,然后离线,在fail树上树链求并. ...

  3. SAC E#1 - 一道中档题 Factorial

    题目背景 SOL君(炉石主播)和SOL菌(完美信息教室讲师)是好朋友. 题目描述 SOL君很喜欢阶乘.而SOL菌很喜欢研究进制. 这一天,SOL君跟SOL菌炫技,随口算出了n的阶乘. SOL菌表示不服 ...

  4. POJ 3974 Palindrome 字符串 Manacher算法

    http://poj.org/problem?id=3974 模板题,Manacher算法主要利用了已匹配回文串的对称性,对前面已匹配的回文串进行利用,使时间复杂度从O(n^2)变为O(n). htt ...

  5. BZOJ2160 拉拉队排练【Manacher】

    Description 艾利斯顿商学院篮球队要参加一年一度的市篮球比赛了.拉拉队是篮球比赛的一个看点,好的拉拉队往往能帮助球队增加士气,赢得最终的比赛.所以作为拉拉队队长的楚雨荨同学知道,帮助篮球队训 ...

  6. 退役II次后做题记录

    退役II次后做题记录 感觉没啥好更的,咕. atcoder1219 历史研究 回滚莫队. [六省联考2017]组合数问题 我是傻逼 按照组合意义等价于\(nk\)个物品,选的物品\(\mod k\) ...

  7. 【bzoj2456】 mode

    http://www.lydsy.com/JudgeOnline/problem.php?id=2456 (题目链接) 只看了一眼,直觉便告诉我这是水题.于是跟某码农打赌说10分钟做出来叫爸爸,结果输 ...

  8. [bzoj 2159]Crash的文明世界

    今天看到一个鬼题 心情好的时候写 [题意]求树上所有点对距离的k次方和,所有边权为1 大爷方的题解:http://tonyfang.is-programmer.com/posts/204972.htm ...

  9. BZOJ 3786 星系探索

    Description 物理学家小C的研究正遇到某个瓶颈. 他正在研究的是一个星系,这个星系中有n个星球,其中有一个主星球(方便起见我们默认其为1号星球),其余的所有星球均有且仅有一个依赖星球.主星球 ...

随机推荐

  1. UVA 808 Bee Breeding (坐标法)

    https://vjudge.net/problem/UVA-808 #include<cmath> #include<cstdio> #include<algorith ...

  2. LightOJ 1284 - Lights inside 3D Grid 概率/期望/二项式定理

    题意:给你一个长宽高为x,y,z的长方体,里面每个格子放了灯,再给你k次选取任意长方体形状的区块,对其内所有灯开或关操作,初始为关,问亮灯数量的期望值. 题解:首先考虑选取区块的概率,使某个灯在被选取 ...

  3. 【BZOJ3875】【AHOI2014】骑士游戏 [Spfa][DP]

    骑士游戏 Time Limit: 30 Sec  Memory Limit: 256 MB[Submit][Status][Discuss] Description 在这个游戏中,JYY一共有两种攻击 ...

  4. 【BZOJ2288】生日礼物 [贪心]

    生日礼物 Time Limit: 10 Sec  Memory Limit: 128 MB[Submit][Status][Discuss] Description ftiasch 18岁生日的时候, ...

  5. javascript中break和continue

    1.break break语句会立即退出循环,强制执行循环后面的语句 var num = 0; for(var i=1;i<10;i++){ if(i%5 == 0){ break; } num ...

  6. 报错注入遇到ERROR 1242 (21000): Subquery returns more than 1 row解决方案

    我的SQL语句是这样写的. mysql> select 1,2,3 and updatexml(1,concat(1,(select user from mysql.user),1),1);ER ...

  7. Chrome控制台的妙用之使用XPATH

    谷歌浏览器,对于作为程序员的我们来说可以是居家必备了,应该用的相当的熟悉了,我们用的最多的应该是network选项吧,一般用来分析网页加载的请求信息,比如post参数之类的,这些基本的功能基本上够用了 ...

  8. android dialog 筛选列表

    1.效果图 2. 布局文件 1)显示筛选的标题 <?xml version="1.0" encoding="utf-8"?> <LinearL ...

  9. [hadoop][基本原理]zookeeper基本原理

    1.简介 https://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/ 2. 数据模型 Zookeeper 会维护一个具有层次关系 ...

  10. [路由] -- Yii2 url地址美化与重写

    转载:http://blog.csdn.net/lmjy102/article/details/53857520