是男人就过 8 题--Pony.AI 题 - A String Game


题目来源

题意:给一个串t以及n个t的子串s,两个人每轮可以选择一个s在他的后边添加一个字符满足得到的新串仍是t的子串,第一个不能操作的人输。

做法:对s串建SAM,在一个子串后边添加字符,等价于在SAM上向后移动一步,预处理每个状态的sg函数,将n个子串的答案异或起来。SAM空间要开两倍(女装警告~~

#include <bits/stdc++.h>
#define pb push_back
#define rep(i,a,b) for(int i=a;i<=b;++i)
const int N = 2e5 + 7;
typedef long long ll;
using namespace std;struct SAM {int n, step[N], fa[N], num[N], last, root, cnt;char s[N];map<char , int> ch[N];void init() {for(int i = 0; i <= cnt; ++i) ch[i].clear();cnt = 0; last = root = ++cnt;}void add(int x) {int tmp = s[x], p = last, np = ++cnt;step[last = np] = x;while(p && !ch[p][tmp]) ch[p][tmp] = np, p =fa[p];if(!p) fa[np] = root;else {int q = ch[p][tmp];if(step[q] == step[p] + 1) fa[np] = q;else {int nq = ++ cnt; step[nq] = step[p] + 1;ch[nq] = ch[q];fa[nq] = fa[q], fa[q] = fa[np] = nq;while(ch[p][tmp] == q) ch[p][tmp] = nq, p = fa[p];}}}int A[N], sg[N], vis[N];void init_sg() {memset(A, 0 , sizeof(A));memset(sg, 0 , sizeof(sg));memset(vis, 0 , sizeof(vis));for(int i = 1; i <= cnt; ++i) ++ A[step[i]];for(int i = 1; i <= n; ++i) A[i] += A[i-1];for(int i = cnt; i; --i) num[A[step[i]]--] = i;for(int i = cnt; i; --i) {for(auto x: ch[num[i]]) {int t = x.second;vis[sg[t]] = num[i];}for(int j = 0; ; ++j) if(vis[j] != num[i]) {sg[num[i]] = j; break;}}}int cal_sg(char str[]) {int len = strlen(str+1), now = root;for(int i = 1; i <= len; ++i) now = ch[now][str[i]];return sg[now];}void run() {init();for(int i = 1; i <= n; ++i) add(i);init_sg();}
} Fe;
char str[N];
int main() {while(scanf(" %s",Fe.s+1) != EOF) {Fe.n = strlen(Fe.s+1);Fe.run(); int n;scanf("%d",&n);int ans = 0;rep(i, 1, n) {scanf(" %s",str+1);ans ^= Fe.cal_sg(str);}puts(ans ? "Alice" : "Bob");}return 0;
}

转载于:https://www.cnblogs.com/RRRR-wys/p/10184137.html

是男人就过 8 题--Pony.AI 题 - A String Game相关推荐

  1. 小马智行Pony.ai 2020校招宣讲行程来了!

    Pony.ai

  2. 小马智行Pony.ai 2020校招正式开启

    驶向未来 | http://campus.pony.ai

  3. 内推 | 无人驾驶~小马智行Pony.ai 2020

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟  报道  | 公众号 CVLianMeng 转载于 :AI算法与图像处理.小马智 ...

  4. 从Waymo挖来感知负责人张一萌,以及Pony.ai的又半年

    李根 发自 凹非寺  量子位 报道 | 公众号 QbitAI 时移世易,顶级技术人才的流动路线变了. 以前,教主楼天城的路线是这样的:博士毕业 → Google → 百度 → 创业Pony.ai. 现 ...

  5. 北京自动驾驶路测名单更新:蔚来和Pony.ai也获准上路了

    郭一璞 发自 沙滩滩  量子位 报道 | 公众号 QbitAI 越来越多的自动驾驶公司已经可以在北京路测了. 根据北京市智能车联产业创新中心公布的信息,截至6月28日,百度.蔚来.北汽.戴姆勒.pon ...

  6. 对话彭军、楼教主:1.12亿美元融资来了,Pony.ai车队也已在路上 | 变局者

    李根 发自 Fremont  量子位 报道 | 公众号 QbitAI 创立一年后,Pony.ai宣布了新一轮融资. A轮,1.12亿美元,11家VC参与.晨兴资本和君联资本联合领投,天使投资方红杉中国 ...

  7. 北京允许无人车上路后,Pony.ai正式广州开跑

    李根 假装发自 广州南沙  量子位 报道 | 公众号 QbitAI 12月18日北京公布政策,正式允许无人车上路路测. 于是"忽如一夜春风来,千树万树梨花开". 广州开始出现无人车 ...

  8. Pony.ai签约落户广州南沙,计划年底前推出无人车队

    问耕 编辑整理 量子位 出品 | 公众号 QbitAI 这是一篇来自广州南沙投促局的报道.虽然是官方报道,但是披露了很多有意思的内容.量子位把其中的要点摘录如下: Pony.ai将在广州南沙设立无人车 ...

  9. Pony.ai 自动驾驶

    小马智行Pony.ai 在多传感器感知上积累了很多的经验,尤其是今年年初在卡车上开始了新的尝试.我们有不同的传感器配置,以及不同的场景,对多传感器融合的一些新的挑战,有了更深刻的认识,今天把这些经验, ...

最新文章

  1. 前端日报-20160527-underscore 源码解读
  2. 实战SSM_O2O商铺_47【Redis缓存】清除缓存接口的开发
  3. openssl 证书生成手册
  4. 「知识表示学习」专题论文推荐 | 每周论文清单
  5. how is our custom css style inserted to html
  6. 休眠锁定模式– PESSIMISTIC_READ和PESSIMISTIC_WRITE如何工作
  7. 分布式团队_我们说的意思是:我们是一个分布式优先团队
  8. 子元素div高度不确定时父div高度如何自适应
  9. 典型案例:Bug 9776608-多个用户使用错误密码登录同一个用户而造成的用户无法登录异常...
  10. 汽车门店管理系统 php,大型汽车4s店维修管理系统多门店版(源码+数据库+截图)...
  11. WEBMAX功能简述
  12. mac设置开机启动脚本或应用
  13. word去除各种下划线
  14. 笔记本java稳定wifi信号_笔记本wifi网速不稳定的解决方法
  15. 关于爬取豆瓣电影和豆瓣书本的图片
  16. 晶圆封装bonding
  17. javaweb基于内容的图片搜索(2)_java爬虫
  18. 51nod1462 树据结构
  19. form表单与ajax的两种提交方式
  20. [JavaScript]关于JavaScript中DOM对象的使用

热门文章

  1. 77. 组合016(回溯法)
  2. 7-22 堆栈模拟队列 (25 分)(详解夹思路)
  3. 幂等问题 vs 如何判断是否是4的幂
  4. 高等数学下-赵立军-北京大学出版社-题解-练习10.1
  5. G - 水陆距离 HihoCoder - 1478(广搜+队列先进先出性质)
  6. 数位dp总结 之 从入门到模板(stO)
  7. Largest Rectangle in a Histogram (动态规划+奇思妙想单调栈)求最大矩状图面积
  8. Sorting It All Out (易错题+拓扑排序+有向图(判环+判有序)优先级)
  9. c++中计算2得n次方_七上,一元一次方程,知识点综合学霸笔记在手
  10. word List 06