最长上升子序列
百练 2757 三种方法: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
百练 2757 三种方法: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
题目大意:同一行上有两个点,从n点到k点有两个,求从n点出发到k点要的最小操作数 操作1:到x - 1处 操作2:到x + 1处 操作3:到2*x处 分析:首先想到的应该是BFS,找最短路径 123456789101112131415161718192021222324252
题目: 给定一个映射表的关系,给定每个单词的对应的映射的单词。现在给定一段字符串,要求如果单词能够翻译就进行翻译,否则原样输出,但是注意所有的\n,\r,空格以及所有的标点符号都是不翻译的。 分析: 先对映射表的单词建立字典树,每个单词的尾节点标记这个单词所映射的单词的下标,那
题意 给定一序列的单词按照字典序输入,要求某些单词是由这其中的其它两个单词拼接而成的单词按照字典序输出 分析: 把输入的单词建一棵字典树,然后每单单词拆成两半去字典树里找 1234567891011121314151617181920212223242526272829303
题意: 给定n个电话号码串,问这n个电话号码串中是否存在某一串是其它串的前缀,如果存在输出NO,否则YES 分析: 把这n个电话号码串建立成字典树,在插入的时候我们直接判断当前插入的字符串是不是其它串的前缀或者其它串是不是这个串的前缀即可 123456789101112131
题目: 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。 这一天,他们遇到了一本词典,于是小Hi就向小Ho提出了那个经典的问题:“小Ho,你能不能对于每一个我给出的字符串,都在这个词典里面找到以这个字符串
有几篇不错的文章可以参考下:http://www.blogjava.net/Carter0618/archive/2007/08/19/137889.html http://www.cnblogs.com/uptownBoy/articles/1698335.html
hdu 1166 Problem Description C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测
通过lowbit实现log级的移动 单点更新 区间更新 区间求和 补:树状数组能解决的问题线段树也能解决,但线段树能解决的问题,树状数组不一定能解决 1 对于区间求和的问题一般利用树状数组比线段树来的方便 2 树状数组建立就是在输入数据的时候做n次的update()。 1
联想下小时候是怎样翻拼音字典 123456789101112131415161718192021222324252627282930313233343536例如:输入mewatchmewhile输出有多少个单词主要操作:struct node{ char a;