Bazinga HDU - 5510【技巧暴力+字符串】
题目:https://vjudge.net/problem/HDU-5510
$2015ACM/ICPC$ 亚洲区沈阳站
题目大意:
输入$t$(表示样例个数)
如何每个样例一个 $n$,表示字符串的个数。
接下来 $n$个字符串,题目要求输出一个最大的i,使得对于标号为 $j (1<=j<i)$ 的字符串 $ss[j]$ 不是字符串 $ss[i]$ 的子串。
思路:
从最后一个字符串向前枚举,如果对于一个字符串 $ss[i]$,其前面的一个字符串 $ss[i-1]$ 不是 $ss[i]$ 的子串,那么就从 $i+1$ 开始向后寻找最大的不包含 $ss[i-1]$ 的字符串。
判断子串的过程可以用函数 $strstr(s_1,s_2)$:如果 $s_2$ 不是 $s_1$ 的子串,那么返回 $null$。
也可以用 $kmp$。
#include <bits/stdc++.h>
using namespace std;
char ss[][];
int main()
{
int t,n,cas=;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
memset(ss,,sizeof(ss));
for(int i=;i<=n;i++)
scanf("%s",ss[i]+);
int ans=-;
for(int i=n;i>;i--)
{
if(!strstr(ss[i]+,ss[i-]+))
{
ans=max(ans,i);
for(int j=i+;j<=n;j++)
{
if(!strstr(ss[j]+,ss[i-]+))
ans=max(ans,j);
}
}
}
printf("Case #%d: %d\n",++cas,ans);
}
return ;
}
Bazinga HDU - 5510【技巧暴力+字符串】的更多相关文章
- Bazinga HDU 5510 Bazinga(双指针)
Bazinga HDU 5510 Bazinga(双指针) 题链 解法:对于串i来说,如果串i是不符合的,那么代表串i之前的字符串都是i的子串,那么我们求一个新的i(定义为ti),如果i是ti 的子串 ...
- Bazinga HDU - 5510 不可做的暴力
http://acm.hdu.edu.cn/showproblem.php?pid=5510 想了很久队友叫我用ufs + kmp暴力过去了. fa[x] = y表示x是y的子串,所以只有fa[x] ...
- 【Bazinga HDU - 5510 】【考察strstr()的使用】【贪心】
题意分析 1.题目大致说的是让你输出符合这种条件(在所给的字符串中至少有一个不是它的子串)的字符串对应的label,若没有输出-1: 2.判断子串可以用string.h下的strstr(s1, s2) ...
- hdu 5510 Bazinga(字符串kmp)
Bazinga Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Sub ...
- HDU 5510 Bazinga 暴力匹配加剪枝
Bazinga Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5510 ...
- HDU 5510:Bazinga(暴力KMP)
http://acm.hdu.edu.cn/showproblem.php?pid=5510 Bazinga Problem Description Ladies and gentlemen, p ...
- 【HDU 5510 Bazinga】字符串
2015沈阳区域赛现场赛第2题 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5510 题意:给定一个由字符串组成的序列,一共n个元素,每个元素是一个不 ...
- hdu 5510 Bazinga (KMP+暴力标记)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5510 思路: 一开始直接用KMP莽了发,超时了,后面发现如果前面的字符串被后面的字符串包含,那么我们就 ...
- TTTTTTTTTTTTTTTT hdu 5510 Bazinga 字符串+哈希
Bazinga Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Sub ...
随机推荐
- HDU_4496_逆向并查集
http://acm.hdu.edu.cn/showproblem.php?pid=4496 逆向并查集,先读取,然后从后向前join每次保存答案即可. #include<iostream> ...
- 题解 CF1292A 【NEKO's Maze Game】
有一个结论: 当 \((1,1)\) 不能抵达 \((2,n)\) 时,必定存在一个点对,这两个点的值均为真,且坐标中的 \(x\) 互异,\(y\) 的差 \(\leq 1\) 这个结论的正确性感觉 ...
- Go语言实现:【剑指offer】删除链表中重复的结点
该题目来源于牛客网<剑指offer>专题. 给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中没有重复出现的数字. 示例 1: 输入: 1->2->3->3- ...
- const与vector的搭配
有三种组合方式,分别为: vector<const int> vec; const vector<int> vec; const vector<const int> ...
- frp内网穿透协助内网程序(如微信相关)开发
众所周知,在本机上开发微信相关的程序,很不方便,因为拨号IP随机,而且很多端口不支持,如80,443 所以,有必要使用一台外网主机中转. frp就可以解决此问题 安装环境,外网服务器:腾讯云,cent ...
- k8s 开船记-全站登船:Powered by .NET Core on Kubernetes
今天 18:30 左右,我们迈出了 kubernetes 航行的关键一步——全站登船,完成了全站应用从 docker swarm 集群向 k8s 集群的切换,以前所未有的决心与信心重新开起这艘巨轮,而 ...
- 数据库主从监控脚本,数据传到influxdb
#!/bin/bash port=`/usr/sbin/ss -ntlp | | awk '{print $4}' | awk -F":" '{print $2}'` array= ...
- 如何清理ibdata1
1, 加锁,然后全备份数据,可以用mysqldump,也可以使用其他的工具: [root@localhost data]# mysqldump --all-databases > /root/a ...
- Python编程:从入门到实践——【作业】——第六章(字典)
第六章作业 6-1 人 : 使用一个字典来存储一个熟人的信息, 包括名. 姓. 年龄和居住的城市. 该字典应包含键first_name . last_name . age 和city . 将存储在该字 ...
- HDU 1042 大数阶乘
B - 2 Time Limit:5000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Submit Statu ...