正规题解传送门 : https://zyqn.tech/?p=3163

但是我们发现n只有2000,于是可以建出trie树然后愉快的bitset去搞。

直接对于trie上每个节点开个bitset空间爆炸。但是有很多是重复的,所以我们想虚树一样建,每个节点只存一个link指针。

代码 :

#include<bits/stdc++.h>
#define INF 0x3f3f3f3f
#define eps 1e-9
#define LL long long
using namespace std;#define int int
inline int Max(int a,int b) {return a>b?a:b;}
inline int Min(int a,int b) {return a<b?a:b;}
inline int Sqr(int a) {return a*a;}
inline int Abs(int a) {return a>0?a:-a;}
#undef int#define MAXN 2000006int n,m,ans;
bitset<2005> x,pol[100005];int tot;
char s[MAXN];struct Trie{int tra[MAXN][27],lk[MAXN],cnt;void Init() {memset(tra,0,sizeof(tra));cnt=1;}void Build(int v) {int fr=0;for(int i=0;i<27;i++) {if(!tra[v][i]) continue;Build(tra[v][i]);if(!fr) lk[v]=lk[tra[v][i]],fr=1;else if(fr==1) {tot++;pol[tot]=pol[lk[v]];pol[tot]|=pol[lk[tra[v][i]]];lk[v]=tot;fr=2;}else pol[lk[v]]|=pol[lk[tra[v][i]]];}}void Insert(int k,char *s,int len) {int now=1;for(int i=0;i<len;i++) {if(!tra[now][s[i]-'a']) now=tra[now][s[i]-'a']=++cnt;else now=tra[now][s[i]-'a'];}if(!lk[now]) lk[now]=++tot;pol[lk[now]][k]=1;}int Patten(char *s,int len) {int now=1;for(int i=0;i<len;i++) {if(!tra[now][s[i]-'a']) return 0;now=tra[now][s[i]-'a'];}return lk[now];}
}hd,bk;inline void Updata(int n) {for(int i=0;i<n;i++) s[i]=((s[i]-'a'+ans)%26)+'a';
}int main() {hd.Init();bk.Init();scanf("%d",&n);for(int len,i=1;i<=n;i++) {scanf("%s",s);len=strlen(s);hd.Insert(i,s,len);reverse(s,s+len);bk.Insert(i,s,len);}hd.Build(1);bk.Build(1);scanf("%d",&m);for(int len,i=1;i<=m;i++) {x.set();scanf("%s",s);len=strlen(s);Updata(len);x&=pol[hd.Patten(s,len)];scanf("%s",s);len=strlen(s);reverse(s,s+len);Updata(len);x&=pol[bk.Patten(s,len)];ans=x.count();printf("%d\n",ans);}return 0;
}

View Code

转载于:https://www.cnblogs.com/ihopenot/p/6764914.html

Bzoj4212--神牛养成计划相关推荐

  1. [BZOJ4212]神牛的养成计划

    [BZOJ4212]神牛的养成计划 试题描述 Hzwer 成功培育出神牛细胞,可最终培育出的生物体却让他大失所望...... 后来,他从某同校女神 牛处知道,原来他培育的细胞发生了基因突变,原先决定神 ...

  2. BZOJ 4212: 神牛的养成计划

    4212: 神牛的养成计划 Time Limit: 10 Sec  Memory Limit: 512 MB Submit: 142  Solved: 30 [Submit][Status][Disc ...

  3. 4212: 神牛的养成计划

    4212: 神牛的养成计划 Time Limit: 10 Sec  Memory Limit: 256 MB Submit: 86  Solved: 20 [Submit][Status][Discu ...

  4. 正式启动|2020腾讯犀牛鸟云开发校园技术布道师养成计划

    为顺应信息技术行业发展趋势及人才需求,促进新时代云计算领域人才培养,在信息技术新工科产学研联盟的指导下,由腾讯云.腾讯高校合作和图灵教育联合主办,牛客网协办的2020腾讯犀牛鸟云开发校园技术布道师养成 ...

  5. (转)游戏程序员养成计划 (更新2010.11.6)

    游戏程序员养成计划 (更新2010.11.6) 原文地址:http://www.cnblogs.com/clayman/archive/2009/05/17/1459001.html#2241553 ...

  6. 2021腾讯犀牛鸟校园布道师养成计划丨百校同行

    千里之行,基于硅步:万里之船,成于罗盘.2021腾讯犀牛鸟云开发新生工程教育"百校同行"--「云开发校园布道师养成计划」 正式回归! 本次布道师养成计划为高校学生打造的高自由度学习 ...

  7. 【周记】腾讯犀牛鸟「云开发」校园技术布道师养成计划

    一个月前开始试着学习微信小程序 恰好腾讯举办了这个[腾讯犀牛鸟「云开发」校园技术布道师养成计划]https://www.bilibili.com/read/cv4965254这个活动 技术增长 抛开活 ...

  8. 获奖结果公布|2020腾讯犀牛鸟云开发校园技术布道师养成计划

    导语: 为顺应信息技术行业发展趋势及人才需求,促进新时代云计算领域人才培养,在信息技术新工科产学研联盟的指导下,由腾讯云.腾讯高校合作和图灵教育联合主办,牛客网协办的2020腾讯犀牛鸟云开发校园技术布 ...

  9. Linux达人养成计划I详细笔记(二)Linux分区与安装

    本系列博文是听了课程Linux达人养成计划后的个人学习笔记,较为详细,供大家参考. 目录 第2章 Linux分区与安装 2.1系统分区 2.2 Linux安装 第2章 Linux分区与安装 2.1系统 ...

  10. 习惯养成计划申明(重要)

    目录 习惯养成计划申明概览 具体习惯如下 各个习惯详细说明 习惯养成计划申明概览 从2018/11/12日起,我将开始养成一系列重要习惯. 各个习惯的坚持天数不同,因为部分习惯可能不适合长期坚持,因此 ...

最新文章

  1. 2018年人工智能和机器学习路在何方?听听美国公司怎么做
  2. run as gradle test,未执行@Test中的内容(待解决)
  3. linux 下去掉^M
  4. Cubieboard:享誉国外 Linux 圈子的中国产品
  5. 550什么意思_研报翻译官第二期:带你了解什么是CPI
  6. 上海东海学院计算机,上海东海职业技术学院
  7. 预报有雷雨,阴天了。
  8. SQL Server高级查询之子查询(单行子查询)
  9. 秀拍客电脑版 v1.0正式版
  10. 看完浪曦相关视频后的感受
  11. 如何在Excel里输入能打钩的选择框?
  12. 不翻墙 轻松打开github
  13. 命令提示符 查看已连接Wifi密码(忘记Wifi密码)
  14. duet太香啦啦啦啦啦啦啦啦啦啦
  15. wifi密码公式计算机,用定积分知识破译wifi密码,数学知识什么时候能派上用场?...
  16. 怎么在网站上设置qq在线客服
  17. 区块链杂谈---默克尔树(Merkle Tree)解析
  18. 李开复评论中国人工智能
  19. 电商商城之分类实现(重点)
  20. 对分布式和集群的理解

热门文章

  1. 标题栏打字效果_JS特效源码
  2. c++如何对结构体作为形参设置默认值
  3. The server sent a disconnect packet.Received ieof for nonexistent channel 0. (code: 2)
  4. C代码中的命名方式总结和改进
  5. MyEclipse Build path contains duplicate entry
  6. 右下角android sdk content loader 加载很慢的解决方法
  7. android 如何完全卸载Android Studio
  8. android 查找字符在字符串的位置
  9. ProgressDialog知识要点
  10. ABI(Application Binary Interface)