【POJ 3461】 Oulipo
【题目链接】
【算法】
KMP
【代码】
#include <algorithm>
#include <bitset>
#include <cctype>
#include <cerrno>
#include <clocale>
#include <cmath>
#include <complex>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <deque>
#include <exception>
#include <fstream>
#include <functional>
#include <limits>
#include <list>
#include <map>
#include <iomanip>
#include <ios>
#include <iosfwd>
#include <iostream>
#include <istream>
#include <ostream>
#include <queue>
#include <set>
#include <sstream>
#include <stdexcept>
#include <streambuf>
#include <string>
#include <utility>
#include <vector>
#include <cwchar>
#include <cwctype>
#include <stack>
#include <limits.h>
using namespace std;
#define MAXW 10010
#define MAXT 1000010 int T,l1,l2;
char s1[MAXW],s2[MAXT];
int next[MAXW]; template <typename T> inline void read(T &x) {
int f = ; x = ;
char c = getchar();
for (; !isdigit(c); c = getchar()) { if (c == '-') f = -f; }
for (; isdigit(c); c = getchar()) x = (x << ) + (x << ) + c - '';
x *= f;
} template <typename T> inline void write(T x) {
if (x < ) { putchar('-'); x = -x; }
if (x > ) write(x/);
putchar(x%+'');
} template <typename T> inline void writeln(T x) {
write(x);
puts("");
} inline void getnext() {
int i,pos;
next[] = ;
for (i = ; i <= l1; i++) {
pos = next[i-];
while (pos > && s1[pos+] != s1[i]) pos = next[pos];
if (s1[pos+] == s1[i]) next[i] = pos + ;
else next[i] = ;
}
} inline void kmp() {
int i,pos=,sum=;
for (i = ; i <= l2; i++) {
while (pos > && s2[i] != s1[pos+]) pos = next[pos];
if (s2[i] == s1[pos+]) pos++;
else pos = ;
if (pos == l1) sum++;
}
writeln(sum);
} int main() { read(T);
while (T--) {
scanf("%s%s",s1+,s2+);
l1 = strlen(s1+); l2 = strlen(s2+);
getnext();
kmp();
} return ; }
【POJ 3461】 Oulipo的更多相关文章
- 【poj 3461】Oulipo(字符串--KMP)
		题意:求子串在文本串中出现了多少次. 解法:使用KMP的next[ ]和tend[ ]数组计数. #include<cstdio> #include<cstdlib> #inc ... 
- bzoj 2295: 【POJ Challenge】我爱你啊
		2295: [POJ Challenge]我爱你啊 Time Limit: 1 Sec Memory Limit: 128 MB Description ftiasch是个十分受女生欢迎的同学,所以 ... 
- 【链表】BZOJ 2288: 【POJ Challenge】生日礼物
		2288: [POJ Challenge]生日礼物 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 382 Solved: 111[Submit][S ... 
- BZOJ2288: 【POJ Challenge】生日礼物
		2288: [POJ Challenge]生日礼物 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 284 Solved: 82[Submit][St ... 
- BZOJ2293: 【POJ Challenge】吉他英雄
		2293: [POJ Challenge]吉他英雄 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 80 Solved: 59[Submit][Stat ... 
- BZOJ2287: 【POJ Challenge】消失之物
		2287: [POJ Challenge]消失之物 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 254 Solved: 140[Submit][S ... 
- BZOJ2295: 【POJ Challenge】我爱你啊
		2295: [POJ Challenge]我爱你啊 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 126 Solved: 90[Submit][Sta ... 
- BZOJ2296: 【POJ Challenge】随机种子
		2296: [POJ Challenge]随机种子 Time Limit: 1 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 114 Solv ... 
- BZOJ2292: 【POJ Challenge 】永远挑战
		2292: [POJ Challenge ]永远挑战 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 513 Solved: 201[Submit][ ... 
随机推荐
- seo优化入门教程:认识搜索引擎
			对于从来没有学过seo或者零基础的人来说,搜索引擎可能都不太了解.所以我们先来认识搜索引擎有哪些,同时为什么我们要学习搜索引擎优化. 从目前全球的一个搜索引擎来说的话,他的分支是非常多的,甚至可以讲, ... 
- Java中常量定义在interface和class的区别(转)
			最终结论:定义常量在interface和class中其实都行,关键是看你的设计和个人爱好. Java中interface中定义变量默认都是"public static final" ... 
- redis集群设置密码详解
			原文:http://lookingdream.blog.51cto.com/5177800/1827851 注意事项: 1.如果是使用redis-trib.rb工具构建集群,集群构建完成前不要配置密码 ... 
- C#-訪问轰炸机,新建进程,结束进程...(ConsoleApp)---ShinePans
			这个程序能够自己主动打开要打开的网址,而且自己主动结束进程,这样能够达到博文点击流量的添加 program.cs using System; using System.Collections.Gene ... 
- Linux 开发板网络设置
			改动IP地址步骤: ①改动/etc/eth0-setting 命令:vi /etc/eth0-setting ②改动对应的信息.最后:wq退出 ③重新启动eth0 命令:/etc/init.d/ifc ... 
- validation set以及cross validation的常见做法
			如果给定的样本充足,进行模型选择的一种简单方法是随机地将数据集切分成三部分,分为训练集(training set).验证集(validation set)和测试集(testing set).训练集用来 ... 
- poj2482--Stars in Your Window(扫描线)
			题目链接:点击打开链接 链接题目大意:给出n个星星的坐标,每一个星星有一个亮度.给出一个矩形的长和宽,问矩形能包含的星星的最大亮度和(不包含边框). 如果每个星星都是矩形的最左下点.那么每个星星都能够 ... 
- 转:我们是怎么做Code Review的
			我们是怎么做Code Review的 前几天看了<Code Review 程序员的寄望与哀伤>,想到我们团队开展Code Review也有2年了,结果还算比较满意,有些经验应该可以和大 ... 
- Thinking in React(翻译)
			下面是React官方文档中的Thinking inReact文章的翻译,第一次翻译英文的文章,肯定有非常多不对的地方,还望多多包涵. 原文地址:https://facebook.github.io/r ... 
- 谜题 之 C语言
			本篇文章展示了14个C语言的迷题以及答案.代码应该是足够清楚的,并且我也相信有相当的一些样例可能是我们日常工作可能会见得到的.通过这些迷题,希望你能更了解C语言.假设你不看答案.不知道是否有把握回答各 ... 
