博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CF 514C(hash)
阅读量:7113 次
发布时间:2019-06-28

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

 

传送门:

题意:输入a个字符串和b个待检测字符串。问待检测字符串是否可以由某个已知字符串改变且只改变一个字母得到。

分析:字符串hash,枚举待测字符串每一位进行修改,看是否符合,好像正解是trie树。

#include 
#include
#include
#include
#define N 600010#define LL long longusing namespace std;const int HASH=1000007;const int MAXN=500010;const LL MOD=10000000000007ll;struct HASHMAP{ int head[HASH],next[MAXN],size; LL state[MAXN]; void init() { size=0; memset(head,-1,sizeof(head)); } bool find(LL val) { int h=val%HASH; for(int i=head[h];~i;i=next[i]) { if(val==state[i])return true; } return false; } int insert(LL val) { int h=val%HASH; for(int i=head[h];~i;i=next[i]) { if(val==state[i]) return 0; } state[size]=val; next[size]=head[h]; head[h]=size++; return 1; }}H;LL p[N];const LL SEED=113;char s[N];int main(){ int n,m; scanf("%d%d",&n,&m); p[0]=1ll; for(int i=1;i
View Code

 

转载于:https://www.cnblogs.com/lienus/p/4384789.html

你可能感兴趣的文章
统一回复《怎么学JavaScript?》
查看>>
[AngularJS] Using an AngularJS directive to hide the keyboard on submit
查看>>
博客迁址通知
查看>>
Git查看、删除、重命名远程分支和tag(转)
查看>>
Atitit 编程语言常用算法attilax总结
查看>>
更改WAS Profiles的概要文件的server1的SDK版本
查看>>
Centos下MySQL主从同步配置
查看>>
如何在Node.js中合并两个复杂对象
查看>>
(笔记)VC6插件安装--Unable to register this add-in because its DllRegisterServer returns an error...
查看>>
【.net 深呼吸】细说CodeDom(7):索引器
查看>>
monolog使用
查看>>
【AtCoder010】B - Boxes(差分)
查看>>
三种 Failover 之 Client-Side Connect time Failover、Client-Side TAF、Service-Side TAF
查看>>
ES 相似度算法设置(续)
查看>>
46:八进制到十进制
查看>>
JAVA4种线程池的使用
查看>>
MonkeyRunner 模块
查看>>
ASP.NET Core实现OAuth2.0的AuthorizationCode模式
查看>>
Atitit tomcat在linux服务器的启动与其他
查看>>
C++/Php/Python 语言执行shell命令
查看>>