摘要: 今天本来是要参加集训队的中期测验的,但是因为要考场外,所以请了一天假,下面就记一下流水账。今天早上6点半就醒来了,平常一般都是7点醒的,可能潜意识里还是有点紧张吧。吃过早饭后,离去驾校的时间(10:30)还早,便看了一个差分约束系统的题,一开始死活TLE,看了discuss后才A的。此时已经9点了,然后在网上随便逛了逛就10点了,搭车到驾校后,看到公告黑板上写的是12点半集合,我hold不住了,还要等2小时,要不要回去呢?纠结了几分钟后我决定呆在驾校。快10点半的时候,我们同车的一个学员来了,他说是10点半还要练车,我当时就庆幸没回去,要不就悲剧了。练车的时候挺顺的,主要是强化一下细节。练完车 阅读全文
posted @ 2012-07-25 23:47 BeatLJ 阅读(240) 评论(2) 推荐(0) 编辑
摘要: 题意:给定一棵二叉树的先序遍历结点序列和中序遍历结点序列,求其后序遍历结点序列。树的结点不超过26。分析:由于遍历都是递归定义的,所以不难得到以下结论:树的任意子树的遍历结点序列一定是该树的遍历结点序列的一个连续子序列。有了这个结论后,我们的任务就是确定子树遍历结点序列的起点和终点,而这个可以根据preorder和inorder得到。例如,preorder的第一个结点是根,设为root,root这个结点会把inorder分为2部分(可能某部分为空),左边的就是左子树的中序遍历结点序列,右边的就是右子树的中序遍历结点序列,这样也就确定了左子树和右子树的结点数目,根据左右子树结点数目,就可得到左右 阅读全文
posted @ 2012-07-25 21:48 BeatLJ 阅读(839) 评论(0) 推荐(0) 编辑
摘要: 题目大意:现有n个点,每个结点有一个权值v,给出关于这些点的m条信息,每条信息(i j k)指出v[i]-v[j]>=k,最后求的是在满足以上约束条件的情况下,v[1]-v[n]的最大值是多少?(N and M not exceeding 30 000 and 150 000 respectively)分析:可以根据题意直接建立差分约束系统,然后以1为源点用spfa求最短路。问题:用队列TLE了,看了discuss后改为stack就A了View Code #include <stdio.h>#include <string.h>#include <stack 阅读全文
posted @ 2012-07-25 20:57 BeatLJ 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给一个字符文本,每行一个字符串,统计不同的字符串出现的百分比。最后按ASCII排序输出不同字符串和出现的百分比。分析:对输入字符串建立字典树,在叶子结点记录该字符串出现的次数。这样的话,最后就可以查找每个字符串出现的次数。另外用一个数组记录不同的字符串,然后对其排序,输出结果。建字典树时要注意,题中没说出现的字符的范围,那就是所有字符都可能出现。数组应开成next[NODE][130].不知道为什么,用C++提交就AC,用G++提交就WA……,确实不太明白这二者有什么区别。View Code #include <stdio.h>#include <stdlib.h& 阅读全文
posted @ 2012-07-25 20:45 BeatLJ 阅读(819) 评论(0) 推荐(0) 编辑