题目链接在这里

题目大意:

你要和电脑玩剪子包袱锤,你和电脑出的序列是固定的,比如你出的永远是RRRS,电脑永远出的是RRRRRRRRSSSS。你可以选择在电脑出第i轮时开始正式比赛,求你最多能获胜多少次。

比如如下这个情况:

电脑:RSPPSSSRRPPR
你:RRRR

在如下情况的时候,你赢的次数是最多的

题目分析:

设a表示电脑的序列,b表示你的序列,将电脑序列中你能赢的序列设为1,其它的设为0,b也是。

比方说,把b中为P的设为1,则a中为R的就为1

设f(i)表示在i点开始比赛时能赢的次数,那么

把b倒过来,就得到

上面就是卷积公式,可以用fft解决。

代码如下:

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <string>
#include <iostream>
#include <queue>
#include <stack>
#include <cmath>
#include <set>
#include <complex>
using namespace std;
typedef long long ll;
typedef complex<double> cp;
const int MaxN = 1e6 + 10;
const double pi = acos(-1);
cp omg[MaxN], inv[MaxN];
char a[MaxN], b[MaxN];
cp aa[MaxN], bb[MaxN];
int ans[MaxN];
int m, n;void fft(cp *c, int n, int f) {for (int i = 0, j = 0; i < n; ++i) {if(i > j) swap(c[i], c[j]);for (int k = n >> 1; (j ^= k) < k; k >>= 1);}for (int i = 1; i < n; i <<= 1) {cp wn(cos(pi / i), f * sin(pi / i));for (int j = 0; j < n; j += i << 1) {cp w = 1;for (int k = 0; k < i; ++k, w *= wn) {cp t = w * c[i + j + k];c[i + j + k] = c[j + k] - t;c[j + k] += t;}}}if(f == -1) {for (int i = 0; i < n; ++i) c[i] /= n;}
}void kk(char ch) {int len = 1;while (len < m + n) len <<= 1;for (int i = 0; i < len; ++i) aa[i] = bb[i] = 0;for (int i = 0; i < m; ++i)if (ch == a[i]) aa[i] = 1; else aa[i] = 0;for (int i = 0; i < n; ++i)if (ch == b[i]) bb[i] = 1; else bb[i] = 0;fft(aa, len, 1);fft(bb, len, 1);for (int i = 0; i < len; ++i)aa[i] *= bb[i];fft(aa, len, -1);for (int i = 0; i < len; ++i)ans[i] += (int)(aa[i].real() + 0.5);
}void solve(){for (int i = 0; i < m; ++i) {if ('P' == a[i]) a[i] = 'S';else if ('S' == a[i]) a[i] = 'R';else if ('R' == a[i]) a[i] = 'P';}for (int i = 0; i < n / 2; ++i)swap(b[i], b[n - i - 1]);kk('P');kk('R');kk('S');int Max = 0;for (int i = n - 1; i < m + n - 1; ++i)Max = max(Max, ans[i]);printf("%d\n", Max);
}int main(){scanf("%d %d", &m, &n);scanf("%s %s", a, b);solve();return 0;
}

2017-2018 ACM-ICPC, Asia Daejeon Regional Contest H题相关推荐

  1. 2016 ACM / ICPC Asia dalian Regional Contest 题解(11 / 11)【每日亿题2021 / 2 / 17】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A .(2017 ACM ICPC dalian H)To begin or not to be ...

  2. 2017 ACM ICPC Asia Shenyang Regional Contest 题解(10 / 13)【每日亿题2 / 16】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A.(2017 ICPC shenyang I)Little Boxes B.(2017 ICP ...

  3. 2017-2018 ACM-ICPC, Asia Daejeon Regional Contest 补题

    题目链接 http://codeforces.com/gym/101667 参考题解 B - Connect3 简要题意: 给定 4×44×44×4 的棋盘玩 Connect3Connect 3Con ...

  4. 2017-2018 ACM-ICPC, Asia Daejeon Regional Contest C题

    C题链接 题意:给一个无向图,每个点都有度,你只能从度小的点往度大的点跑,问能经过的最多点数. 思路:签到题,记忆化爆搜就行了. #include <bits/stdc++.h>using ...

  5. 2018 ICPC Asia Jakarta Regional Contest

    2018 ICPC Asia Jakarta Regional Contest 题号 题目 知识点 难度 A Edit Distance B Rotating Gear C Smart Thief D ...

  6. The 2019 ICPC Asia Shanghai Regional Contest

    The 2019 ICPC Asia Shanghai Regional Contest 题号 题目 知识点 A Mr. Panda and Dominoes B Prefix Code C Maze ...

  7. 2017-2018 ACM-ICPC, Asia Daejeon Regional Contest

    2017-2018 ACM-ICPC, Asia Daejeon Regional Contest 题号 题目 难度 知识点 A Broadcast Stations B Connect3 C Gam ...

  8. 2017-2018 ACM-ICPC, Asia Daejeon Regional Contest (大部分题解)

    2017-2018 ACM-ICPC, Asia Daejeon Regional Contest ECFINAL PK赛. C 签到题. DAG上的dp. D 签到题. 根据数据范围可知暴力即可. ...

  9. 【题目记录】——The 2021 ICPC Asia Jinan Regional Contest

    文章目录 C Optimal Strategy 组合数 H Game Coin K Search For Mafuyu 欧拉序列 题目集地址 The 2021 ICPC Asia Jinan Regi ...

最新文章

  1. 百度CTO王海峰:百度Paddle已支持超过70个主流的模型
  2. Kubernetes之路 1 - Java应用资源限制的迷思
  3. 如何在同一台电脑上同时运行2个tomcat
  4. mfc 怎么让键盘上下左右控制图片移动_[源码和文档分享]基于MFC的陨石撞飞机游戏设计与实现...
  5. 浅谈SQL Server数据库分页
  6. 自从掌握了Selenium自动化测试框架设计,我在公司都横着走!
  7. 双刃剑与灰色地带:“泄露数据收藏家”的素描
  8. JS高级——手写call()、apply()、bind()
  9. JSP 文件上传下载系列之一[基本方式上传文件]
  10. 表单出现提交两次的问题的解决
  11. 多任务学习Multi-Task Learning
  12. Android学习入门
  13. lpt监控安装_lpt1(如何在lpt1端口安装打印机)
  14. 广义线性模型的计算机应用技术学院,SPSS数据分析—广义线性模型
  15. Golang内存分配逃逸分析
  16. 没有json数据,自己造!mockjs的使用-模拟数据其实超级简单
  17. Arduino基础入门篇02—Arduino开发环境IDE安装使用
  18. python模拟登录12306_python模拟登录12306缺少cookies
  19. chrome无痕模式可访问但正常模式访问不了
  20. %md ,%0md ,%-md ,%m.nf

热门文章

  1. POI 单元格垂直居中,相同内容的单元格合并
  2. 国产操作系统VS Windows系统的深度使用比较,哪种操作系统更好用?来自一位深度使用者的全面剖析
  3. 北都南, 神月あおい - 小悪魔lovers
  4. 图片太大怎么改小kb?简单的图片压缩方法分享
  5. 积分第一中值定理与伏汝兰尼(Froullani)积分
  6. 阿里云对象存储OSS图片上传并回显
  7. 程序员面试揭秘之程序员靠什么途径去美国工作
  8. 使用exe4j打包javafx项目
  9. 使用Python画玫瑰花
  10. 闲暇之余,纪录片推荐(B站)