博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA 10887 set或hash
阅读量:6088 次
发布时间:2019-06-20

本文共 1592 字,大约阅读时间需要 5 分钟。

题意:

给出n个A串和m个B串,将这A串与B串连接(B接在A后面)可以生成n*m个AB串,求不同的AB串的数量

分析:

set直接水过

#include 
using namespace std;char str1[2000][15],str2[2000][15];int main(){// freopen("in.txt","r",stdin); int m,n,t,kase=0; scanf("%d",&t); set
M; while(t--) { scanf("%d%d",&n,&m); getchar(); for(int i=0; i

 

hash可以节省时间

#include 
using namespace std;const int maxn=2300000;const int mod=2299963;int a[maxn];char vis[maxn][30];char str1[2000][15],str2[2000][15];int BKDRHash(char *str){ int seed = 131; // 31 131 1313 13131 131313 etc.. int res = 0; while (*str) res = res * seed + (*str++); return (res & 0x7FFFFFFF)%mod;}int APHash(char *str){ int res = 0; int i; for (i=0; *str; i++) { if ((i & 1) == 0) res ^= ((res << 7) ^ (*str++) ^ (res >> 3)); else res ^= (~((res << 11) ^ (*str++) ^ (res >> 5))); } return (res & 0x7FFFFFFF)%mod;}int Judge(char *str) //两次hash{ int h1=BKDRHash(str); int h2=APHash(str); while(a[h1]) { if(a[h1]==h2) return 0; h1++; } a[h1]=h2; return 1;}int Insert(char *str){ int h=BKDRHash(str); while(a[h]) { if(strcmp(vis[h],str)==0) return 0; h++; //如果冲突往后移一位 } a[h]=1; strcpy(vis[h],str); return 1;}int main(){// freopen("in.txt","r",stdin); int m,n,t,kase=0; scanf("%d",&t); while(t--) { memset(a,0,sizeof(a)); scanf("%d%d",&n,&m); getchar(); for(int i=0; i

 

转载于:https://www.cnblogs.com/pach/p/7201107.html

你可能感兴趣的文章
对MBProgressHUD进行二次封装并精简使用
查看>>
Java抓取网页数据(原网页+Javascript返回数据)
查看>>
推荐一款好用的文件/文件夹对比工具 —— Beyond Compare
查看>>
Chapter 1 Securing Your Server and Network(6):为SQL Server訪问配置防火墙
查看>>
关于 NSInvocation
查看>>
android 播放视频
查看>>
IOS成长之路-Nsstring中搜索方法rangeOfString
查看>>
安卓高手之路之java层Binder
查看>>
java设计模式--结构型模式--桥接模式
查看>>
JS window.open()属性
查看>>
Oracle 字符集的查看和修改
查看>>
微信百度天气查询
查看>>
[詹兴致矩阵论习题参考解答]习题3.8
查看>>
linux下查看内存使用情况
查看>>
cocos2d-js Shader系列4:Shader、GLProgram在jsb(native、手机)和html5之间的兼容问题。cocos2d-js框架各种坑。...
查看>>
jQuery 人脸识别插件,支持图片和视频
查看>>
今天学习的构造函数与字符串的详解
查看>>
JVM:从实际案例聊聊Java应用的GC优化
查看>>
让Team Foundation Server/TFS自动记住用户名密码解决方案
查看>>
3dmax 2012 贴图通道与uv通道,烘焙场景
查看>>