摘要:
问前两个字符串是否能组合成第三个字符串,保持原字符串的顺序。看到别人的代码有两种做法:1、DFShash数组标记足迹,可以减少重复搜索的次数。这个代码太过巧妙,体会体会再体会。。 1 //#define LOCAL 2 #include 3 #include 4 #include 5 usin... 阅读全文
摘要:
记忆化搜索,第一次做搜索,好好学习下!dir保存了搜索的四个方向,下右上左这里还懵懵懂懂的,现将模板记下来。=_=!! 1 //#define LOCAL 2 #include 3 #include 4 #include 5 using namespace std; 6 7 const in... 阅读全文
摘要:
求最短公共祖先,是最长公共子序列的变形。在DP的同时记录下路径,然后递归回去输出即可。如果碰到公共的,只输出一次。以第一个样例为例:图中数字是最大公共子段的长度,下标代表路径。带下划线的是递归时所走的路径。 1 //#define LOCAL 2 #include 3 #include 4 #i... 阅读全文
摘要:
题目就是给一个字符串问最少插入多少个字符能让原字符串变为回文字符串。算法:用原串的长度减去原串与翻转后的串的最大公共字串的长度,就是所求答案。 1 //#define LOCAL 2 #include 3 #include 4 #include 5 #include 6 using name... 阅读全文