码迷,mamicode.com
首页 > 其他好文 > 详细

140725模拟赛总结

时间:2014-07-26 01:26:26      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   strong   文件   io   


A:hdu4847    字符串匹配
第一想法是KMP,写了好长时间结果还TLE了-_-||,实际上用个简单的枚举判断就能解决。因为待验证的字符串"doge"很小。
写A题的时候还被输入卡了半天。
Tips1:输入至文件结尾(eof)的常用方法:
      while (cin>>a)        //最常用的
      while (cin.getline(s,30))    //按行读入前30个字符。空格也读入
      getline(cin,s)        //和getline相似,
Reference:http://www.cnblogs.com/flatfoosie/archive/2010/12/22/1914055.html
Tips2:自己的KMP还是两年前用Pascal写的......
找了个KMP模版,以后用就行:
Reference:http://www.cnblogs.com/183zyz/archive/2011/03/24/1994380.html

bubuko.com,布布扣
 1 # include<stdio.h>
 2 # include<string.h>
 3  char P[10005],T[1000005];
 4  int next[10005],n,m;
 5 void Pnex()
 6 {    
 7     int k,q;    
 8     next[1]=0;   
 9     k=0;   
10     for(q=2;q<=n;q++)  
11     {       
12         while(k>0 && P[k+1]!=P[q])   
13         {          
14             k=next[k];    
15         }      
16         if(P[k+1]==P[q]) k++; 
17         next[q]=k;   
18     }
19 }
20 int main()
21 {    
22     int i,t,q,num;  
23     scanf("%d",&t);    
24     getchar();     
25     while(t--)     
26     {           
27         gets(P);    
28         gets(T);      
29         n=strlen(P);     
30         m=strlen(T);    
31         for(i=n-1;i>=0;i--)  
32             P[i+1]=P[i];    
33         for(i=m-1;i>=0;i--)     
34             T[i+1]=T[i];          
35         Pnex();    
36         q=0;     
37         num=0;    
38         for(i=1;i<=m;i++) 
39         {            
40             while(q>0 && P[q+1]!=T[i])  
41             {              
42                 q=next[q];     
43             }            
44             if(P[q+1]==T[i]) q++; 
45             if(q==n)      
46             {            
47                 num++;       
48                 q=next[q];    
49             }      
50         }          
51         printf("%d\n",num);   
52     }   
53     return 0;
54 }
View Code

 


Tips3:补充一个更快的字符串匹配算法:Boyer-Moore算法
Reference:http://www.ruanyifeng.com/blog/2013/05/boyer-moore_string_search_algorithm.html

Tips4:补充李大神发的一个神图:

bubuko.com,布布扣


B:hdu4848    搜索+强剪枝
题目大意:图上每个点都有各自的deadline,需要在deadline之前遍历完所有的点。求最少时间
Reference:http://www.tuicool.com/articles/vERnuqZ

C:hdu4849    最短路
D:hdu4850
先留着点,本周一定要写!


140725模拟赛总结,布布扣,bubuko.com

140725模拟赛总结

标签:style   blog   http   color   os   strong   文件   io   

原文地址:http://www.cnblogs.com/pdev/p/3868886.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!