【南理oj】1112 - 求次数(STL - map & string)
2016-06-15 23:41
253 查看
点击打开题目
时间限制:1000 ms | 内存限制:65535 KB
难度:2
描述
题意很简单,给一个数n 以及一个字符串str,区间【i,i+n-1】 为一个新的字符串,i 属于【0,strlen(str)】如果新的字符串出现过ans++,例如:acmacm n=3,那么 子串为acm cma mac acm ,只有acm出现过
求ans;
输入LINE 1: T组数据(T<10)
LINE 2: n ,n <= 10,且小于strlen(str);
LINE 3:str
str 仅包含英文小写字母 ,切长度小于10w
输出求 ans
样例输入
样例输出
上传者ACM_王亚龙
这道给cmp字符串赋值用 for 循环就超时了,用 string 的函数就可以。
代码如下:
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <map>
#include <string>
#include <iostream>
#define MAX 100000
using namespace std;
string a;
int main()
{
int u;
int l;
int la;
int ans;
map<string,int> num;
scanf ("%d",&u);
while (u--)
{
string cmp;
num.clear();
ans = 0;
scanf ("%d",&l);
cin >> a;
la = a.size(); //a的长度
for (int i = 0 ; i <= la - l ; i++)
{
// for (int j = 0 , k = i; j < l ; j++,k++) //构造新字符串
// cmp[j] = a[k];
// cmp[l] = '\0';
//====这么写会超时====
cmp = a.substr(i,l);
if (num[cmp] != 0)
ans++;
else
num[cmp]++;
}
printf ("%d\n",ans);
}
return 0;
}
求次数
时间限制:1000 ms | 内存限制:65535 KB难度:2
描述
题意很简单,给一个数n 以及一个字符串str,区间【i,i+n-1】 为一个新的字符串,i 属于【0,strlen(str)】如果新的字符串出现过ans++,例如:acmacm n=3,那么 子串为acm cma mac acm ,只有acm出现过
求ans;
输入LINE 1: T组数据(T<10)
LINE 2: n ,n <= 10,且小于strlen(str);
LINE 3:str
str 仅包含英文小写字母 ,切长度小于10w
输出求 ans
样例输入
2 2 aaaaaaa 3 acmacm
样例输出
5 1
上传者ACM_王亚龙
这道给cmp字符串赋值用 for 循环就超时了,用 string 的函数就可以。
代码如下:
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <map>
#include <string>
#include <iostream>
#define MAX 100000
using namespace std;
string a;
int main()
{
int u;
int l;
int la;
int ans;
map<string,int> num;
scanf ("%d",&u);
while (u--)
{
string cmp;
num.clear();
ans = 0;
scanf ("%d",&l);
cin >> a;
la = a.size(); //a的长度
for (int i = 0 ; i <= la - l ; i++)
{
// for (int j = 0 , k = i; j < l ; j++,k++) //构造新字符串
// cmp[j] = a[k];
// cmp[l] = '\0';
//====这么写会超时====
cmp = a.substr(i,l);
if (num[cmp] != 0)
ans++;
else
num[cmp]++;
}
printf ("%d\n",ans);
}
return 0;
}
相关文章推荐
- keystore文件
- Android开发学习笔记:浅谈显示Intent和隐式Intent
- JavaScript中实用的几种方法(函数)
- 第二sprint总结
- Spark On YARN内存分配
- 专题四 Problem B
- 乐视控股(北京)有限公司
- Controller生命周期
- 基因组 de novo 组装原理
- Host ''xxx.xx.xxx.xxx'' is not allowed to connect to this MySQL server
- [python]迭代器
- Java多线程-Executor框架:ScheduledThreadPoolExecutor
- Machine Learning内容梳理
- Android 中文件类型与MIME的匹配表
- C++第四次作业(补)x
- mybatis返回插入值的主键
- 项目管理之SVN(1-1)
- chapter3 常用的运算符
- 分支结构程序体验
- uva348 Optimal Array Multiplication Sequence