ACM_字符串
文章平均质量分 59
tintinsnowy
这个作者很懒,什么都没留下…
展开
-
poj 1200(字符串hash)
题目链接:http://poj.org/problem?id=1200 题目大意:找不同的子串 题目分析:多不错的水题,适合我等菜鸟拉。转化为nc的进制,意味着有ans个不同个数 代码:#include #include #include const int maxn=16*1e6+5; using namespace std; char string[maxn]; int letter[3原创 2013-08-27 20:39:13 · 713 阅读 · 0 评论 -
UVA 401(palindorme)简单字符串处理
入门的字符串处理,小心为妙。 坑爹的注意空格输出 #include #include #include using namespace std; bool is_p(char *s,int len)//判断是否为回文注意下标 { for(int i=0;i<len/2;i++) { if(s[i]!=s[len-i-1]) ret原创 2013-11-01 08:24:23 · 815 阅读 · 0 评论 -
【mark】最长公共子序列(poj 1458+hdu 1159)
经典的问题,在各大博客上有数不清的好帖子 下面为最常见的n^2算法 #include #include #include #include #include using namespace std; int f[500][500]; char x[500],y[500]; int solve(int a,int b) { int i,j; memset(f,0,size转载 2014-01-03 19:46:59 · 783 阅读 · 0 评论 -
uva 10189【字符串】
#include #include #include #include #include using namespace std; char grid[105][105]; int res[105][105]; void solve(int n, int m) { int i,j; for(i=1; i<=n; i++) { for(j=1; j<=m;原创 2014-02-15 09:51:37 · 634 阅读 · 0 评论 -
poj 2127(最长公共上升子序列)
题目链接:点击打开链接 题目分析:1.设主串为father【i】,子串为son【j】,dp【I】【J】表示主串以father【i】结尾和son【j】结尾的区间有当前的最大上升子列。 尽量压缩主串比如:若father【i】==son【j】,则考虑在i前的k位和j-1是不是有更优的选择,找到最大值然后+1就是dp【i】【j】原创 2014-02-18 09:53:00 · 1045 阅读 · 0 评论 -
BOJ 394(LIS应用)(nlogn算法)
题目链接:点击打开链接 题目虽然是给的二维坐标,但是根据题目down_left和upper_right是“绝对”的上升关系 所以这自然就变成了我们熟悉的LIS,由于数据量很大,所以我们只能用N(log n)的做法,使用N^2的做法请看另一篇博文 点击打开链接 所以以后还是都写nlogn的好了,以免T原创 2014-03-10 17:22:50 · 639 阅读 · 0 评论 -
poj 2533(最长上升子序列)(n^2 ) 和 nlogn的算法
题目链接:点击打开链接 题目大意:略 题目分析:1.用n平方的做法,枚举以data【i】为结尾的子序列,向前查找,比data【i】小并且dp【j】比dp【i】小的 新手代码: #include #include #include #include using namespace std; const int maxn=1005; int data[maxn],dp[maxn]; int原创 2013-08-26 15:27:07 · 1009 阅读 · 0 评论 -
poj 1631(Bridging signals LIS)nlogn
题目链接:点击打开链接、 题目大意:绕了这么多圈子,其实还是求最长上升子序列 题目分析:用nlog n 与 poj2533一样啊:点击打开链接 #include #include #include #include using namespace std; const int maxn=40005; int stack[maxn]; int main() { freopen("ou原创 2013-08-26 16:36:50 · 659 阅读 · 0 评论 -
【字符串到其他类型转化】stringstream用法
之前为了在其他类型的bian liang转一直转载 2014-04-30 16:00:37 · 877 阅读 · 1 评论 -
编程之美初赛第一场 题目1 : 焦距
题目: #include #include #include #include #include #include #include using namespace std; int n; const double EPS=1e-7; struct node { double x,y; } data[100005]; int cmp(node a,node b) {原创 2014-04-19 16:28:52 · 682 阅读 · 0 评论 -
UVA 537(简单计算)
题目链接:点击打开链接 题目给P,U,I中任意2个求第三个变量 #include #include #include #include using namespace std; char data[1000]; double x[2],unit[2]; int locate(int i,int len,int num) { int po,dimo=0,flag=0;x[nu原创 2013-11-01 09:29:00 · 643 阅读 · 0 评论 -
UVA10361 字符串
题目链接:点击打开链接 题目大意:切割字符串,进行重组 题目总结:1.又忘记了,scanf(“%s”)遇见空格,tab \n都会结束 2.gets()直至接受到换行符或EOF时停止。 3.getline:在string.h中 返回值 与参原创 2013-11-01 09:20:55 · 732 阅读 · 0 评论 -
hdu 1280(前m大的数)
题目链接:点击打开链接 题目分析:水题 自己的代码,暴力,268MS #include #include #include #include using namespace std; int data[3005]; int sum[5000000]; int cmp(int a,int b) {return a>b ;} int main() { int n,m,i,j,原创 2013-08-28 09:44:42 · 541 阅读 · 0 评论 -
hdu 1061
#include #include #include typedef long long __int64; __int64 origin; int num[10]; char n[20]; int main() { int t,len,tmp,digit,count,j,i; scanf("%d",&t); while(t--) { scanf原创 2013-08-28 11:18:18 · 547 阅读 · 0 评论 -
Trie 树学习下
感谢作者和博主的分享! 原文:点击打开链接 Tire树 今天把Trie树彻底的看了下。发现网上有两篇非常好的文章,通过他们的博客,我对Trie树有了大题的了解。并且通过理解 消化 综合他们的知识,再结合我自己的编程爱好,我也把具体的程序实现了一遍,这样能对Trie树有更加深刻的认识! 他们是:勇幸|Thinking 和 Maik 。 感谢他们。 下面的分析也是从他转载 2013-08-31 11:09:43 · 709 阅读 · 0 评论 -
poj 3630 phone list
题目链接:点击打开链接 题目大意:如果一个电话号码为另一个电话号码的前缀,那么就打不通,判为NO 题目分析: trie 树的资料见我的转载 先将电话号码排序,从长到短,进行处理,详见代码,注意数组的大小 题目心得:完全自己第一次写的Trie 树,一开始先学习trie 白书2 P 209,然后 做这道题,写完后wa了2 次,觉得自己写的没有错啊原创 2013-08-31 11:07:48 · 596 阅读 · 0 评论 -
hdu 4287( PHONE LIST)
题意:对应于手机九宫格按键,给你n个数字串和m个字母串,问对于每个数字串,在m个字母串中有几个字母串是由这个按这个数字串的按键生成的。 题解:把字母哈希到手机数字按键上,对于每个字母串转化为对应的数字串,再通过map查找之前是否有这个字母串,最后计数输出。 代码:之前还想是不是用下字典树,但是发现没有必要。将题目反过来想就行 题目链接:点击打开链接 #include #includ原创 2013-09-02 08:58:36 · 666 阅读 · 0 评论 -
hdu 4706(childen‘s day)
题目链接:点击打开链接 题目分析:水题,注意pe #include #include #include #include #include #include using namespace std; int main() { int i,n,j; char c='a'; for(n=3;n<=10;n++) { for(i=1;i<=n;i原创 2013-09-08 19:38:54 · 989 阅读 · 0 评论 -
LCS(最长公共子列--动态规划)
资料大家分享 链接1:点击打开链接 链接2:点击打开链接转载 2013-09-20 21:06:06 · 642 阅读 · 0 评论 -
poj 2406 power string(KMP)
题目链接:点击打开链接 题目分析:利用KMP进行分析,白书上的方法略有不同 其实就是进行预处理,找到上一个与之匹配的 总结:数组开小了,出现re #include #include #include #include using namespace std; int n,m,f[1000005]; char s[1000005]; int ge原创 2013-10-07 13:06:36 · 673 阅读 · 0 评论 -
UVA 10010(查找字符串)
题目链接:点击打开链接 题目大意:在一个字符矩阵中8个方向找所给的字符串 题目总结:学到了个新函数 函数名: tolower 功 能: 把字符转换成小写字母,非字母字符不做出处理 头文件:在VC6.0可以是ctype.h或者stdlib.h,常用ctyp原创 2013-11-01 08:45:01 · 1082 阅读 · 0 评论 -
strcmp 遇上 string?
string a = "bcd"; int e = strcmp(a,"bcd"); cout 编译使报错 【解决】int e = strcmp(a.c_str(),"bcd");原创 2014-07-17 21:14:45 · 785 阅读 · 2 评论