• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






goodniao_1

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

2014年2月27日

dfs hdu 1241 寻找连通分量的个数
摘要: 题目大意:寻找连通分量的个数。完全dfs模板,注意是八个方向的搜索。代码如下:#include#include#include#include#define N 105using namespace std;char grid[N][N];int m,n;int direct[8][2]={{-1,-1},{-1,0},{-1,1},{0,1},{1,1},{1,0},{1,-1},{0,-1}};void DFS(int x,int y){ int xx,yy,i; grid[x][y]='*'; for(i=0;i=m||yy=n) continue; if... 阅读全文
posted @ 2014-02-27 18:03 goodniao_1 阅读(214) 评论(0) 推荐(0)
 
hdu kmp 2594
摘要: 题目求P的前缀与S2的后缀相同的最长字符串,那么把P和S2连接起来,然后求next[n+m] 。注意两种数据:abcabcabcabcabc6abcabcabc3即需要讨论 next[n+m]>len(P) next=next[next[n + m]] 和 next[n+m]>len(S2) next=next[next[n + m]] 。代码如下: 1 #include 2 #include 3 #include 4 #include 5 #define N 50005 6 using namespace std; 7 char P[N*2]; 8 char S2[N]; 9 i 阅读全文
posted @ 2014-02-27 16:13 goodniao_1 阅读(135) 评论(0) 推荐(0)
 
hdu 1358 kmp 求前缀有几个循环
摘要: [1,2...,m] 模板的前缀Pi 的循环节为 clc = i-next[i] i % clc == 0 && i != clc 则表示前缀中有 k = i / clc 个循环完全是参考代码模板:代码如下:#include#include#include#include#define N 1000... 阅读全文
posted @ 2014-02-27 14:55 goodniao_1 阅读(179) 评论(2) 推荐(0)
 
hdu 3746 kmp求循环节 下标从1开始
摘要: 长度为m[1,2...m]的模式的循环节为 m-next[m] ,aaa 循环节clc为1 (clc=m-next[m]= 3-2 =1) 此时 m%clc == 0 表示有3个完整的循环节ababa 循环节为2 (clc = 5-3=2) 此时 m%clc = 5%2 =1 表示有两个循环节 还余一个数 ,需添加的字符数 为 len - m%clcabaed 循环节为 5 (clc = 5-0=5) 此时, clc = m 表示只有一个完整的循环节 ,如果至少要两个循环节的话 ,需添加的字符数 为 len下表从1 开始的代码如下:#include#inclu... 阅读全文
posted @ 2014-02-27 13:34 goodniao_1 阅读(202) 评论(0) 推荐(0)
 
kmp hdu 3336 下标从1开始
摘要: kmp 模板 数组下标从1开始 P[1,2, . . . m] T[1,2 ,3 ... n]void Prefix_Func() { int i,k; k=0; next[1]=0; for(i=2;i0 && P[k+1]!= P[i]) k=next[k]; if(P[k+1] == P[i]) k++; next[i]=k; } }数组下标从0开始void Prefix_Func() { int i,k; k=-1; next[0]=-1; ... 阅读全文
posted @ 2014-02-27 10:48 goodniao_1 阅读(305) 评论(0) 推荐(0)