这道题需要注意的地方有以下一些:1.
求从子树中的某节点到当前节点的最大路径不能采用递归方法,因为这个部分会被反复的调用,如果用递归,会使得之前已经计算过的节点被重复计算,使得时间复杂度特别高;2.
树中有节点的值是负数的。下面是AC代码。(我发现AC并不代表代码真的完全正确!!) 1 /** 2 ...
分类:
其他好文 时间:
2014-05-01 12:10:52
阅读次数:
274
这道题挺简单的,但是需要细心。最好的方法是先对string做预处理,然后再判断是否是回文。下面是AC代码:
1 /** 2 * Given a string, determine if it is a palindrome, considering only
alphanumeric ch...
分类:
其他好文 时间:
2014-05-01 01:45:34
阅读次数:
375
题目题意:求任意连续序列的最大值,这个连续序列可以和其他的
值交换k次,求最大值思路:暴力枚举所有的连续序列。没做对是因为
首先没有认真读题,没看清交换,然后,以为是dp或者贪心用了一下贪心,各种bug不对。这次用了一下优先队列,以前用的不多,看这个博客又学了一下AC代码: 1
#include ....
分类:
其他好文 时间:
2014-04-29 17:14:46
阅读次数:
432
这道题也很简单,只要把二叉树按照宽度优先的策略遍历一遍,就可以解决问题,采用递归方法越是简单。下面是AC代码:
1 /** 2 * Sum Root to Leaf Numbers 3 * 采用递归的方法,宽度遍历 4 */ 5 int result=0; 6...
分类:
其他好文 时间:
2014-04-28 10:05:40
阅读次数:
682
此题AC率不怎么高,可能也是因为边界条件较多。我提交了好多次,例如没有考虑到将系数化为最简形式,没有考虑测试用例中有相同点的情况等。这个题目的有趣之处是在于直线的表示方法,选择哪种形式更合理,比较有特点。
分类:
其他好文 时间:
2014-04-28 05:57:55
阅读次数:
576
如上图,判断线段AB和线段CD相交。
分析:如果线段AB和线段CD相交,只能是图中的两种相交情况。可以用向量叉乘来判断。如果(向量AB叉乘向量AC)*(向量AB叉乘向量AD)
设A(X1,Y1), B(X2, Y2), C(X3, Y3), D(X4, Y4),三角形ABC的面积为:2A = =
X1*Y2 + X3*Y1 + X2*Y3 - X3*Y2 - X1*Y3 - X2*Y1。...
分类:
其他好文 时间:
2014-04-27 22:32:13
阅读次数:
425
福州大学第十一届程序设计竞赛
Contest Finished!
Tag
Pro.ID
Problem Title
Ratio(AC/Submit)
1
大王叫我来巡山呐
80.31%(261/325)
2
防守阵地 I
23.48%(193/822)
3
shadow
13.23%(97/733)
4
...
分类:
其他好文 时间:
2014-04-27 21:21:59
阅读次数:
300
分析:这道题可以采用贪心算法。将节目按结束时间从小到大排序,然后判断能看几个节目。判断的方法是:这次要看的节目开始时间是否在上一个节目的结束时间之后,如果在之后,则可以看完,如果不在之后,就 pass 掉这次要看的节目,跳到下一个节目继续判断。例如排好序后:
第一个节目肯定可以看完;第二个节目开始时间在第一个节目结束时间之后,所以可以看完;第三四五个节目开始时间都在第二个节目结束时间之前,不能看完, pass 掉;第六个节目开始时间在第二个节目结束时间之后,可以看完;第七八个节目开始时间都在第六个节目结束时...
分类:
其他好文 时间:
2014-04-27 18:49:30
阅读次数:
576