- 博客(18)
- 资源 (2)
- 收藏
- 关注
原创 ZOJ2334 HDU1512 Monkey King,左偏树
学习了左偏树,发现及其强大,尤其是插入可以达到O(logN)的时间复杂度,我主要参考的是这些文章点击打开链接,又学到东西了/**************************************************************************
2011-09-27 20:01:15 1602
原创 POJ1236 Network of Schools,Tarjan
这题其实也是很普通的强连通分量题,但是问题却有些人读不懂。第一个问,就是求要最少分发多少份可以使得软件到达全部学校,也就是缩点后求入度为0的点。关于第二问,就是求最少要添加多少条边才能使得只要分发一份软件就可以使得全部学校都收到。对于第二问,缩点后,我们可以统计出度为0和
2011-09-25 20:32:07 580
原创 ZOJ1979 POJ2553 The Bottom of a Graph,经典Tarjan
经典的强连通分量题,我用了Tarjan算法+缩点。把每个强连通分量缩点,求出每个点的出度。所谓的bottom,就是那些出度为0的强连通分量,对于所有出度不为零的连通分量里的点,都可以到达bottom中的点。/******************************
2011-09-25 01:51:08 670
原创 POJ2186 Popular Cows,Kosaraju算法+缩点
算法主要参考这篇解题报告点击打开链接,利用的是Kosaraju算法和缩点,给每个强连通分量染上颜色,缩成点后统计每个点的出度。/********************************************************************
2011-09-24 01:37:17 1006
原创 ZOJ2682 People like People,深度优先搜索
这题有点难度,不过理清题目后还是可以解决的。首先我们把全部节点都视为core节点。把出度为0的节点剔除掉,同时也可以把指向出度为0的节点的节点也剔除掉。把入度为0的节点剔除,同时修改它指向的节点的入度。不断重复直到没有可以剔除的节点了。这样余下的节点都可以构成core。这里可以构
2011-09-23 20:39:27 639
原创 POJ3268 Silver Cow Party,SPFA+转置矩阵
看到题目的数据量,就知道要用SPFA了。问题在于是否要对每个顶点求SPFA呢?事实上不是的。如果用farm表示正常的距离矩阵,transform表示farm装置后的矩阵。对farm求x的SPFA可以得出x到各个顶点的最短距离,也就是返回时的最短距离,那各个顶点到到x的最短距离呢?
2011-09-14 22:16:40 762
原创 POJ2309 BST
水题,找规律。可以看到每一层的节点都可以被同一层最左边的节点整除,而最左边的节点都是2的幂。找到规律,然后看一下这个节点和左右最底的节点的差均为这个节点同一层的最左节点减一(好绕口。。。)。/**************************************
2011-09-14 19:33:19 1135
原创 ZOJ3171 The Hidden 7's,DP版
这题算是非典型的DP 吧。可以看一下代码中的注释。/******************************************************************************* # Author : Neo Fung # Email :
2011-09-13 12:54:29 814 1
原创 ZOJ2876 POJ3630 HDU1671 Phone List,静态Trie树
这题用Trie数来解决。如果用动态的话,malloc,new和delete这些肯定会超时,所以只能用静态数。判断条件优化一下,可以把时间将到100ms以内,ZOJ上70ms刷到第一页。。。记得静态数组开大一点,10000个号码每个号码10位,开100000最保险了。
2011-09-12 19:13:07 1119
原创 ZOJ1109 Language of FatMouse,BST
这题如果用STL的map来做的话,会很简单,不过为了练手,所以我还是自己写。。。STL的map的查找时间复杂度在任何时候总是O(logN),因为map用的是红黑树,可以保证树的高度总是logN。但是这里为了简单,我就直接用一颗排序二叉树来做了。很简单的题,也不用什么注释了,唯独是
2011-09-12 11:09:33 1171
原创 ZOJ3170 7 Levels of Binary Search Tree,BST
这题可以先对那些数字进行快排。排序结束后,就可以根据给出的对于某个节点,左右节点的孩子数来确定这个节点的数据是那个数了。注意要留意n==1的情况,在这里WA了很久。/***************************************************
2011-09-12 10:12:07 640
原创 ZOJ1025 POJ1065 HDU1051 Wooden Sticks,贪心算法版
这题我用的是贪心算法,对len排序后在weight中找总共有多少个没有公共交点的上升子序列。总的时间复杂度为O(N^2)。/************************************************************************
2011-09-09 18:32:49 1419
原创 ZOJ3627 POJ1631 HDU1950 Bridging Signals,O(N*logN)版最长上升子序列问题
这题如果用普通的最长上升子序列来做的话因为时间复杂度为O(n^2),肯定会超时,所以这里用的是O(N*logN)的方法,代码带有详细解释了。/*************************************************************
2011-09-08 20:29:49 1327
原创 ZOJ1871 POJ2590 Steps
很简单的一题,可惜我一开始写错了。。。最好就是从间隔1开始慢慢找规律,找到n步最长可以走多少,最短可以走多少,就可以了。然后统计对于n步,最长和最短的差值,这就可以找到规律了。/***********************************
2011-09-07 16:50:20 1107
原创 ZOJ2777 POJ2090 Visible Lattice Points
这题是求点到原点的连线不重合的有多少条。根据观察,除了在x=0和y=0上的点,以及(x=1, y=1)这些点外,其他点如果x和y坐标互质,则一定不存在重合,故可以有如下代码/***********************************************
2011-09-07 15:30:17 884
原创 ZOJ2109 FatMouse' Trade,贪心算法
很简单的一题,用贪心算法可以解决。结构体内保存了JavaBean的数量j,cat food的数量f,以及j和f的比值rate。也就是说每1 cat food可以兑换多少JavaBean。然后对rate按照从大到小的顺序排序。然后每次按照rate从大到小的选择,保证cat food
2011-09-03 16:49:16 835
原创 ZOJ1733 POJ1458 Common Subsequence,经典DP问题
很经典的DP问题,问最长共同子字符串。DP[i][j]存放的是对于A字符串和B字符串,当A到达 i 和B到达j 时,最大公共字符串的长度。我们定义temp,如果A的第i个字符和B的第j个字符相等,则temp为1,否则为0。则对于DP[i][j],到达DP[i][j]的可能有三
2011-09-03 16:44:20 780
原创 ZOJ3432 Find the Lost Sock,异或运算
ZOJ上面的AC终于超过了100了。这道题有点难度,首先是输入的数据量大,最大的测试集达到1000000*2-1。其次一般人的想法是对于每一个输入,检索以前的输入是否有与之匹配的,如果有则消去,否则将输入记下来。但是计算机里面有个非常有用的运算,就是异或了。而且异或符
2011-09-01 16:24:49 975
厦门大学硕博论文xelatex模板
2013-01-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人