POJ 1200 Crazy Search
来源:互联网 发布:易语言界面源码 编辑:程序博客网 时间:2024/06/16 14:53
题目传送门
【题意】给了一个字符串,和n,m,这字符串里最多有m个不同的字符,现在要求有多少个长度为n且不同的字串。
【坑点】一直在看数据范围,题上 怎么没给呀,只给了字符串长度的数据范围,最后看Disscuss里面的人说,input里解释了一切,果然input里的不超过16M说明了一切,解决了这个问题就很好解决了,把每一个长度为n的字符串hash成一个m进制的整数,然后判重并记录次数。
【AC代码】
#include <cstdio>#include <cmath>#include <cstring>#include <algorithm>#include <iostream>using namespace std;#define N 1000100#define M 500000const int maxnum=1600000;char str[maxnum];bool arr[20000000];int has[256];int main(){ int n,nc; int i,cnt,len,sum,j,res; while(scanf("%d%d%s",&n,&nc,str)!=EOF) { cnt=0; memset(has,0,sizeof(has)); memset(arr,false,sizeof(arr)); len=strlen(str); for(i=0;i<len;i++) if(has[str[i]]==0) has[str[i]]=cnt++; res=0; for(i=0;i+n<=len;i++) { sum=0; for(j=i;j<i+n;j++) { sum*=nc; sum+=has[str[j]]; } if(!arr[sum]) { res++; arr[sum]=true; } } printf("%d\n",res); } return 0;}
0 0
- POJ 1200 Crazy Search
- poj 1200 Crazy Search
- POJ 1200 Crazy Search
- poj 1200 Crazy Search
- POJ 1200 Crazy Search
- poj 1200 Crazy Search
- POJ 1200 Crazy Search
- poj 1200 Crazy Search
- poj-1200 Crazy Search
- POJ 1200 Crazy Search
- poj 1200 Crazy Search
- POJ 1200 Crazy Search
- poj-1200 Crazy Search
- POJ 1200 Crazy Search
- poj 1200 Crazy Search
- POJ 1200 Crazy Search
- poj 1200-Crazy Search
- POJ 1200 Crazy search
- 股票交易日
- AMH4.2面板PHP升级5.6.9
- 【转】什么是序列化,为什么要序列化
- iOS 字符属性NSAttributedString描述
- rman backup zhi section size
- POJ 1200 Crazy Search
- ios开发常用宏
- Linux下tomcat JVM内存 配置
- 学习C++反汇编-多继承
- Qt 样式表 边界盒模型
- 基于人工神经网络的五子棋博弈的一些思路
- 嵌入式Linux解析XML开发之:(一)XML基础
- 第24讲项目1——分段函数求值
- OpenCV环境配置