XJTUOJ #1193. 表象[弹幕偏执症]
题目
https://oj.xjtuicpc.com/problem/1193

恋恋天下第一!(然而本菜鸡总是被阿空锤死而根本开不了normal)TAT
思路
挺吓人的一道题,看起来很像是要匹配加字符串算法乱搞。但是既然放在套题的第一道想必其实是简单题。(2e6的数据范围基本上是线性算法了,除非出题人卡常)
反正我什么字符串算法都不会,那不妨暴力乱搞一波。我们令\(n=strlen(S),m=strlen(T)\)
考虑S[0]作为前缀,那显然新增种数为\(m\),没有任何重复。
S[1]作为前缀时哪些会重复呢?我们手玩一下数据。S="ababa" T="babab"
ababa babab
a babab
a abab
a bab
a ab
a b
ab babab
ab bab
ab b
不难发现,如果当前的前缀是S[0]到S[i],后缀为T[j]到T[m],当T[j-1]==S[i]时它与之前的情况重复掉了,没有贡献。
所以我们只要对每个字母x预处理出T中有多少后缀使得它前面一位是x即可。
代码
点击查看代码
#include<cstdio>
#include<cstdlib>
#include<cstring>
#define maxn 2000010
#define ll long long
using namespace std;
char S[maxn],T[maxn];
int cnt[26];
int main(){
int n,m,i,j;
ll ans=0;
scanf("%s%s",S,T);
n=strlen(S);
m=strlen(T);
for(i=0;i<m-1;++i) cnt[T[i]-'a']++;
ans+=m;
for(i=1;i<n;++i){
ans+=m-cnt[S[i]-'a'];
}
printf("%lld",ans);
// system("pause");
return 0;
}
XJTUOJ #1193. 表象[弹幕偏执症]的更多相关文章
- 技术分享:逆向分析ATM分离器
文章内容仅供技术交流,请勿模仿操作! 背景(作者) 每一次外出时, Elizabeth和我总是格外的小心,同时把我们身上的钱藏在特殊的皮带上面,这样还不够,我们还采取了“狡兔三窟”的方式来藏身上带的银 ...
- sharepoint2007就地升级2010系列(五)升级到sharepoint2010
---恢复内容结束--- 大家下午好 今天我们来完成最后一步,sharepoint2007升级2010.其实我反倒没有那么紧张了,因为我最担心的数据库升级,已经过了. OK,话不多说,让我们直接开始吧 ...
- sharepoint2007就地升级2010系列(四)升级数据库
上一篇我们完成了系统的升级,今天我们来看一下SQL2005X64是如何升级到SQL2008X64的. 首先,我们先停掉所有sharepoint的服务 其实网上的文档并没有写到这一步,但是我个人觉得,要 ...
- 代码的坏味道(3)——基本类型偏执(Primitive Obsession)
坏味道--基本类型偏执(Primitive Obsession) 特征 使用基本类型而不是小对象来实现简单任务(例如货币.范围.电话号码字符串等). 使用常量编码信息(例如一个用于引用管理员权限的常量 ...
- 如何克服社交恐惧症?zz
zhang Bavol 清华大学核能与新能源技术研究院——核科学与技术/电子爱好者 你说的这个恐惧症我也有一点点,不过现在我是只对那种不是很熟悉的七姑八婆之类的亲戚才会有这种憋屈感觉,对朋友和 ...
- 又一枚精彩的弹幕效果jQuery实现
精彩的弹幕效果分享给大家,具有一定的参考价值,感兴趣的朋友可以尝试制作弹幕,具体内容如下 简易弹幕效果:将发布的内容随机显示在弹幕右侧,逐渐左移最后消失. 涉及知识点:val().random ...
- 用react的ReactCSSTransitionGroup插件实现简单的弹幕动画
1,开始的思路 公司想做直播方面的项目,并想加入弹幕的功能,直播的页面已经作为一个组件放在了用react+redux写好的一个网站项目上.所以技术老大让我研究下如何用react实现弹幕的功能.下面我就 ...
- 弹幕文化与HTML5
分享人:herry 弹幕篇:弹幕文化与HTML5 说说弹幕 弹幕文化 1什么是弹幕? 弹(dàn)幕(mù)在国内兴起已经有个把年了,相信很多朋友都差不多知道弹幕这个东西. 弹幕系统最初的起源是一家日 ...
- 【Swift 2.0】实现简单弹幕功能
前言 简单实现弹幕功能,表跟我谈效率,但也有用队列控制同时弹的数量. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over ...
- jQuery+css3 弹幕
写了个基于jQuery+css3的弹幕功能,此功能面向手机wap,利用改变位移做弹幕功能会使一些性能低的手机浏览器卡,所以用了css3,此功能不支持非webkit内核浏览器 html部分 自己设置样式 ...
随机推荐
- Ubuntu安装系统监视器system-monitor并显示在状态栏(火狐浏览器)
system-monitor 使用过Windows 10的朋友们都知道,Windows 10系统自带了一项功能--任务管理器,我们可以通过它方便地查看当前系统的状态,主要包括CPU,内存,硬盘,GPU ...
- linux下启动jar包
一.jdk 1.安装jdk 2.查看 摘自:(29条消息) Linux如何查看JDK的安装路径_fanyuna的博客-CSDN博客_linux查看jdk安装位置 1:echo $JAVA_HOME 使 ...
- Git下载、安装与配置
1.Git下载: 访问Git官网,下载对应操作系统的的安装包. 这里笔者是64位机器,选择如下: 2.Git安装: 打开安装包进行安装: 一路next到Finish: 在CMD中输 ...
- Mac OS X 下安装Tableau Desktop Pro for Mac 10.2.0
安装步骤 1.断网安装tableau 2.双击Tableau Desktop.pkg 编辑 3.安装后到应用程序里把tableau这个单独文件从tableau文件夹里直接放到应用程序根目录 4. ...
- 配置tomcat 服务 启动模式
1配置Tomcat的环境变量,其步骤如下: 计算机右击属性,打开环境变量---系统变量---新建变量名:CATALINA_HOME,变量值为:D:\Program Files\Apache Softw ...
- 记一次修改vg name 引发的血案
项目服务器安装完操作系统后,由于vg name 与转维标准不一致,故修改了vg name,那么案件由此发生 1.安装完系统后 /etc/fstab 默认为 2.修改vg name 和 lv name ...
- requests学习笔记02
一.会话对象 会话对象让你能够跨请求保持某些参数.它也会在同一个 Session 实例发出的所有请求之间保持 cookie, 期间使用 urllib3 的 connection pooling 功能. ...
- idea启动项目,报java.lang.OutOfMemoryError: PermGen space 和启动项目很慢的问题解决
启动一个老的项目,报错,查是内存溢出 进入 VM options 加上 -Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m 在 ...
- Camstar报错:cannot be accessed through null object reference at CDO 'xxx'
- 使用 EMQX Cloud 桥接数据到 GCP Pub/Sub
前不久,Google 宣布其旗下的 GCP IoT Core 即将在 2023 年 8 月 16 日停止提供服务.这意味着大量使用 GCP IoT Core 的用户可能需要将他们的 IoT 应用迁移到 ...