2016-2017 ACM-ICPC, Asia Tsukuba Regional Contest D Hidden Anagrams
题目链接:http://codeforces.com/gym/101158/attachments
/*
* @Author: lyucheng
* @Date: 2017-10-21 12:20:04
* @Last Modified by: lyucheng
* @Last Modified time: 2017-10-21 21:12:12
*/
/*
* 题意:给你两个字符串,让你求最长子串,子串在两个字符串中都出现(长度相同,出现的字母次数相同就行)
*
* 思路:枚举每个长度的字符串,加到set中,然后在另一个字符串中查找,枚举长度n,构造长度为x的字符串是n,查找是logn
* 时间复杂度n*n*logn
* */
#include <bits/stdc++.h> #define MAXN 4005
#define MAXK 30 using namespace std; struct Node{
int vis[MAXK];
void init(){
memset(vis,,sizeof vis);
return ;
}
inline bool operator < (const Node & other )const {
for(int i=;i<MAXK;i++){
if(vis[i]!=other.vis[i])
return vis[i]<other.vis[i];
}
return ;
}
};
char s1[MAXN],s2[MAXN];
int n,m;
bool flag=true; bool ok(int x){
Node node;
node.init();
set<Node>s;
for(int i=;i<n;i++){//枚举所有长度为x的字符串
node.vis[s1[i]-'a']++;//记录子串中出现的字母次数
if(i>=x){//如果超过x那么就要把之前的一个字符删掉,保证字符字符串的长度是x
node.vis[s1[i-x]-'a']--;
}
if(i>=x-){//如果i>x那么说明长度够x了,就可以往里插了
s.insert(node);
}
}
node.init();
for(int i=;i<m;i++){
node.vis[s2[i]-'a']++;
if(i>=x){
node.vis[s2[i-x]-'a']--;
}
if(i>=x-){//长度够x了就查找
if(s.find(node)!=s.end())
return true;
}
}
return false;
} void init(){
flag=false;
} int main(){
// freopen("in.txt","r",stdin);
init();
scanf("%s%s",s1,s2);
n=strlen(s1);
m=strlen(s2);
for(int i=n;i>=;i--){//枚举的子串的长度
if(ok(i)){
printf("%d\n",i);
flag=true;
break;
}
}
if(flag==false){
puts("");
}
return ;
}
2016-2017 ACM-ICPC, Asia Tsukuba Regional Contest D Hidden Anagrams的更多相关文章
- 2017 ACM - ICPC Asia Ho Chi Minh City Regional Contest
2017 ACM - ICPC Asia Ho Chi Minh City Regional Contest A - Arranging Wine 题目描述:有\(R\)个红箱和\(W\)个白箱,将这 ...
- 2017 ACM/ICPC Asia Regional Shenyang Online spfa+最长路
transaction transaction transaction Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 132768/1 ...
- 2017 ACM ICPC Asia Regional - Daejeon
2017 ACM ICPC Asia Regional - Daejeon Problem A Broadcast Stations 题目描述:给出一棵树,每一个点有一个辐射距离\(p_i\)(待确定 ...
- 2017 ACM/ICPC Asia Regional Qingdao Online
Apple Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submi ...
- 2017-2018 ACM-ICPC, Asia Tsukuba Regional Contest
2017-2018 ACM-ICPC, Asia Tsukuba Regional Contest A Secret of Chocolate Poles 思路:暴力枚举黑巧克力的个数和厚黑巧克力的个 ...
- ACM ICPC Central Europe Regional Contest 2013 Jagiellonian University Kraków
ACM ICPC Central Europe Regional Contest 2013 Jagiellonian University Kraków Problem A: Rubik’s Rect ...
- 2019-2020 ICPC, Asia Jakarta Regional Contest (Online Mirror, ICPC Rules, Teams Preferred)
2019-2020 ICPC, Asia Jakarta Regional Contest (Online Mirror, ICPC Rules, Teams Preferred) easy: ACE ...
- HDU - 6215 2017 ACM/ICPC Asia Regional Qingdao Online J - Brute Force Sorting
Brute Force Sorting Time Limit: 1 Sec Memory Limit: 128 MB 题目连接 http://acm.hdu.edu.cn/showproblem.p ...
- 2017 ACM/ICPC Asia Regional Shenyang Online(部分题解)
HDU 6197 array array array 题意 输入n和k,表示输入n个整数和可以擦除的次数k,如果至多擦除k次能是的数组中的序列是不上升或者是不下降序列,就是魔力数组,否则不是. 解题思 ...
随机推荐
- nested exception is java.lang.IllegalArgumentException: Pointcut is not well-formed
在用AOP 的时候出现了如下的错误, 警告: Exception encountered during context initialization - cancelling refresh atte ...
- css预处理器less和scss之sass介绍(二)
本来打算整理jQuery Mobile来着,但是没有研究明白,所以接着上个周的继续介绍... [scss中的基础语法] 1.scss中的变量 ①声明变量:$变量名:变量值 $width:100px ...
- MX4拍摄视频转码方法
问题 使用魅族4手机拍摄的视频,其视频编码是H.265 目前大多数设备不支持解码,表现为常用播放器无法正常播放视频,剪辑软件无法剪辑视频. 解决方案 使用软件进行转码,期间尝试软件如下: 爱剪辑 部分 ...
- AngularJS -- HTML 编译器
点击查看AngularJS系列目录 转载请注明出处:http://www.cnblogs.com/leosx/ HTML Compiler Overview(HTML 编译器 概要) AngularJ ...
- asp.net mvc项目实记-开启伪静态-Bundle压缩css,js
百度这些东西,还是会浪费了一些不必要的时间,记录记录以备后续 一.开启伪静态 如果不在web.config中配置管道开关则伪静态无效 首先在RouteConfig.cs中中注册路由 routes.Ma ...
- 【Linux笔记(002) 】-- centos7 文档操作基本命令
一.cd -- ChangeDirectory a) 切换到 /DemoLM/ 文件夹 b) 回到用户 Home 根目录:是哪个账户登录的就会进入哪个用户的根目录 二.pwd -- PrintWork ...
- JS数字金额转换为货币汉字形式
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- hdu3729二分匹配
I'm Telling the Truth Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- C#仪器数据文件解析-XPS文件
XPS为微软推出的类似于Adobe PDF的一种文件格式,个人认为XPS很好,但毕竟PDF已经被大家所熟知,因此XPS的使用很少,也少有仪器数据输出为该格式. XPS百度百科:https://baik ...
- extract-text-webpack-plugin 的使用及安装
extract-text-webpack-plugin该插件的主要是为了抽离css样式,防止将样式打包在js中引起页面样式加载错乱的现象;首先我先来介绍下这个插件的安装方法: npm install ...