hdu-6153 A Secret
来源:互联网 发布:ae2018cc破解版mac 编辑:程序博客网 时间:2024/06/04 18:00
先翻转数组,然后用套kmp模板
#include"cstdio"#include"cstring"#include"iostream"#include"algorithm"typedef long long LL;const LL mod = 1e9+7;using namespace std;const int maxn = 1e6+9;char s[maxn],t[maxn];int nxt[maxn];int n,m;LL ans;void build(char *str){ nxt[0] = -1; int k = -1, j = 0; while(j < m){ while(k!=-1 && str[k] != str[j]) k = nxt[k]; nxt[++j] = ++k; }}void work(){ ans = 0; LL j = 0; int cnt = 0; for(int i = 0; i <= n; i++){ while(j != -1 && s[i] != t[j]){ ans = (ans + (j+1)*j/2)%mod; j = nxt[j]; } ++j; if(j >= m){ cnt++; ans = (ans+(j+1)*j/2)%mod; j = nxt[j]; } }}int main(){ int T; scanf("%d",&T); while(T--){ scanf("%s%s",s,t); n = strlen(s); m = strlen(t); reverse(s,s+n); reverse(t,t+m); build(t); work(); cout<<ans<<endl; } return 0;}
阅读全文
0 0
- HDU 6153 A Secret
- hdu-6153 A Secret
- hdu-6153 A Secret
- HDU 6153 A Secret
- hdu--6153(A Secret)
- hdu 6153 A Secret KMP
- HDU 6153 A Secret KMP
- HDU 6153 A Secret KMP
- Hdu 6153 A Secret【KMP】
- 【KMP】HDU 6153 A Secret
- HDU 6153 A Secret(KMP)
- hdu 6153 A Secret (kmp)
- hdu 6153 A Secret (KMP)
- hdu 6153 A Secret(KMP)
- hdu 6153 A Secret(KMP)
- HDU 6153 A secret(kmp)
- HDU 6153-A Secret(kmp&&ccpc)
- HDU 6153 A Secret(KMP)
- 学习经验总结(二)
- 2017年8月19日训练日记
- Java 线程池(ThreadPoolExecutor)原理分析与使用
- JVM加载class文件的原理机制简单总结
- CCPC2017网络赛8月19日总结
- hdu-6153 A Secret
- 配置错误 在唯一密钥属性“fileExtension”设置为“.mp4”时,无法添加类型为“mimeMap”的重复集合项
- JavaScript实现下拉框联动的方法与见解
- 时间复杂度_函数传参、传引用、传指针
- mkdir()和mkdirs()的区别
- linux下创建和删除软、硬链接
- 我的第一篇博客
- 哥德巴赫猜想
- Java 随机数的生成 学习笔记