摘要: 题意:给一个字符串S,判断在什么下标的时候,前缀和后缀相等,输出前缀和后缀相等的点。分析:next数组的一种很巧妙的用法next数组表示的意义是当前下标前面k字符和开头的前面k个字符相等所以就会有xy=ab(用xy表示x - y的这一段),则next[b]=y,那么下次就从y这个位置开始匹配如果xk... 阅读全文
posted @ 2015-08-31 22:27 阿文的博客 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 题目大意 : 在一个字符串中找出目标单词的个数 代码: 阅读全文
posted @ 2015-08-31 20:26 阿文的博客 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 在 N 个点 N 条边组成的图中判断是否存在汉密尔顿路径。思路:忽略重边与自回路,先判断是否连通,否则输出“NO”,DFS搜索是否存在汉密尔顿路径。 #include #include #include #include #in... 阅读全文
posted @ 2015-08-30 16:33 阿文的博客 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 题目大意 :Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀).(单词互不相同)代码: #include #include #include ... 阅读全文
posted @ 2015-08-29 17:49 阿文的博客 阅读(195) 评论(0) 推荐(1) 编辑
摘要: 题目大意: 有 n 头牛,编号为 1 n 乱序排成一列,现已知每头牛前面有多少头牛比它的编号小,从前往后输出每头牛的编号。思路: 从后往前推,假如排在最后的一头牛比他编号小的数量为a,那么它的编号必然为a+1。我们把编号为a+1的这头牛删掉,假如排在倒数第二的一头牛比他编号小的数量为b,那么该牛就为... 阅读全文
posted @ 2015-08-28 21:33 阿文的博客 阅读(139) 评论(0) 推荐(0) 编辑
摘要: ```cpp #include #include using namespace std; ifstream fin("shuliec.in"); ofstream fout("shuliec.out"); class Node { public: long long l; long long r; long long Value; long long Lazy; }; long long... 阅读全文
posted @ 2015-08-27 23:19 阿文的博客 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 题目大意: n 个村庄排列在一条直线上,相邻的村庄有地道连接,除首尾两个村庄外,其余村庄都有两个相邻的村庄。其中有 3 中操作 D x :表示摧毁编号为 x 的村庄,Q x:表示求出包含村庄 x 的最长区间中村庄的数目,R 表示修复最后摧毁的村庄。输入 n,m 分别表示村庄的树木,和操作的次数。 思... 阅读全文
posted @ 2015-08-27 10:58 阿文的博客 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给出从 0 到 n-1 的整数序列,A0,A1,A2...An-1。可将该序列的前m( 0 满足 i Aj 。 在所有的序列中找出逆序对最少的序列,输出逆序对个数。num[n+1]存储序列元素。思路: 假设某个序列的逆序对个数为 sum 则下一个序列的逆序对个数为 sum - num[1... 阅读全文
posted @ 2015-08-26 20:02 阿文的博客 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 有 n 项作业需要完成,每项作业有上交的期限和需完成的天数,若某项作业晚交一天则扣一分。输入每项作业时包括三部分,作业名称,上交期限,完成所需要的天数。求出完成所有作业时所扣掉的分数最少,同时输出完成作业的顺序(若有多组结果,输出按字典序排列最小的那组)。(输入时,按名称的字典序输入)思... 阅读全文
posted @ 2015-08-23 22:12 阿文的博客 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 题目大意:从起点 1 开始走遍所有的点,回到起点 1 ,求出所走的最短长度。思路:首先利用 Floyed 求出任意两点之间的最短距离 dis[i][j]。求出任意两点之间的最短距离后,运用动态规划。dp[s][i] 表示当前状态为s时,最后一个到达的点为 1 时走过的最短距离。 将状态状态 ... 阅读全文
posted @ 2015-08-23 16:03 阿文的博客 阅读(149) 评论(0) 推荐(0) 编辑