POJ
Anoyer
这个作者很懒,什么都没留下…
展开
-
POJ2752-Seek the Name, Seek the Fame(找相同的前后缀)
题目博主博客题意:求一个串中相同前后缀长度,并输出思路:利用KMP的next数组性质;如果s[next[n-1]]=s[n],则此时前后缀相同,然后再开始回滚,若s[next[n-1]] == s[n-1],则子串s[0,1,2,…,next[n-1]]是满足条件的子串。然后判断s[next[next[n-1]]] == s[n-1]是否成立,这样一直回滚,直到next[next[…n...原创 2018-09-28 19:00:51 · 783 阅读 · 0 评论 -
POJ - 3087 - Shuffle'm Up(模拟)
题目链接题意:已知两堆牌s1和s2的初始状态, 其牌数均为c,按给定规则能将他们相互交叉组合成一堆牌s12,再将s12的最底下的c块牌归为s1,最顶的c块牌归为s2,依此循环下去。现在输入s1和s2的初始状态 以及 预想的最终状态s12问s1 s2经过多少次洗牌之后,最终能达到状态s12,若永远不可能相同,则输出"-1"。题解:虽然归类于kuangbin搜索专题,但个人感觉模拟...原创 2019-02-28 20:36:45 · 234 阅读 · 0 评论 -
POJ - 3278 - Catch That Cow(裸BFS)
题目链接题意:给定两个整数n和k,通过 n+1或n-1 或n*2 这3种操作,使得n==k,输出最少的操作次数题解:简单的对每个节点进行三个方向(三种走法)的BFSAC代码:#include<stdio.h>#include<string.h>#include<queue>#include<algorithm>using ...原创 2019-02-28 20:35:25 · 371 阅读 · 0 评论 -
POJ - 3126 - Prime Path(BFS枚举)
题目链接题意:给出两个四位数的素数a,b,求从a变到b最少要花几步?每一步只能将a中的一位改变,且改变后的数也要是素数。题解:BFS枚举个位,十位,百位,千位变换的数,用素数表判断变换后是否为一个素数AC代码:#include<stdio.h>#include<string.h>#include<queue>#include<al...原创 2019-02-28 20:34:46 · 265 阅读 · 0 评论 -
POJ - 2251 - Dungeon Master(分层BFS)
题目链接题意:给一个三维图,可以前后左右上下6种走法,走一步1分钟,求最少时间(其实就是最短路)题解:最短路Bfs,和二维的基本一样,就是原来4个方向,现在6个方向,原来数组是二维,现在是三维,也相当于模板题了。AC代码:#include<stdio.h>#include<cstring>#include<queue>#include&...原创 2019-02-28 20:34:01 · 253 阅读 · 0 评论 -
POJ - 1426 - Find The Multiple(双入口DFS)
题目链接题意:给一个数n,让你找出一个只有1,0,组成的十进制数,要求是找到的数可以被n整除题解:用DFS是搜索 当前位数字 (除最高位固定为1),因为每一位都只有0或1两种选择AC代码:#include<stdio.h>#include<string.h>#include<iostream>#include<algorithm&...原创 2019-02-28 20:32:42 · 236 阅读 · 0 评论 -
POJ - 1321 - 棋盘问题(裸DFS)
题目链接题意:给你一个棋盘,问在这个棋盘上放K个棋子,有多少种放法(每行每列只能有一个棋子)题解:对棋盘DFS搜索,每满足一种就ans++,基本是裸的AC代码:#include<stdio.h>#include<string.h>typedef long long ll;const int maxn=17;char mp[maxn][maxn];...原创 2019-02-28 20:31:40 · 184 阅读 · 0 评论 -
POJ - 3974 - Palindrome(裸马拉车)
博主链接题目链接题意:给一个字符串,求连续最长的回文子串的长度。题解:利用Manacher算法,裸的模板题,不多说了。不懂Manacher算法----见Manacher最长回文串算法代码:#include&lt;stdio.h&gt;#include&lt;algorithm&gt;#include&lt;cstring&gt;#define met(a) memset原创 2018-12-05 20:44:38 · 200 阅读 · 0 评论 -
POJ-2406-Power Strings(循环节)
博主链接题目链接题意:给我们一个字符串,我们要求出它最多由几个相同的连续子串连接而成。也就是求最小循环节题解:先注意到如果他是循环子串那么n-next[n]一定是最小循环节。于是可以先求出nxt然后暴力匹配一遍看看。但是事实上只要满足n%(n-next[n])==0就可以保证答案正确了。代码:#include<stdio.h>#include<cstring&g...原创 2018-12-05 20:43:51 · 216 阅读 · 0 评论 -
POJ-3261-Milk Patterns(后缀数组)
博主CSDN题目链接题意:给定一个字符串S,求至少出现k次的最长重复子串,这k个子串可以重叠。题解:后缀数组。先二分答案,然后将后缀分成若干组。这里要判断的是有没有一个组的后缀个数不小于k。如果有,那么存在k个相同的子串满足条件,否则不存在。。代码: /* 题意:找出出现k次的可重叠的最长子串的长度 这都是套路题了,二分长度L,按照height值分组...原创 2018-11-28 17:43:34 · 241 阅读 · 0 评论 -
POJ-1321 棋盘问题
POJ-1321 棋盘问题 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。 Input 输入含有多组测试数据。 每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的...原创 2018-08-02 21:09:28 · 201 阅读 · 0 评论 -
Blue Jeans---poj3080(kmp+暴力求子串)
题目题意:给一个n,输入n个长度为60的字符串,求最长公共子串(2&amp;amp;lt;n&amp;amp;lt;=10),如果公共串长度大于等于3就输出这个子串(开始真的是瞎了,看了题直接将所有字符串连接来,求了波next数组,然后完美求出了子串长度,却发现要求是输出子串,心里***)**思路:(KMP+暴力求子串)枚举第一个字符串的不同长度子串,判断她是否为下面多有的公共子串?如果是的话,那么我们就表明找到,...原创 2018-09-26 22:16:30 · 883 阅读 · 0 评论 -
POJ - 3984 - 迷宫问题(路径记录)
题目链接题意:给你一个5*5的迷宫,0代表通路,1代表墙,找到从迷宫左上角到达右下角的最短路径,并输出路径。题解:先进行一遍BFS,得到vis数组,表示到该位置最少需要多少时间,然后从(4,4)位置倒着查路径,查到符合的就直接break,防止重复AC代码:#include<stdio.h>#include<string.h>#include<...原创 2019-02-28 20:38:00 · 329 阅读 · 0 评论