一周学习总结3.28

今天下午是练习赛,明天正式比赛。应该没时间再做题了,先总结一下吧。

这周做的题还是蛮多的。511题。

主要还是DP。还做了一题DFS和一题哈夫曼树。

DFS是深度优先搜索。如其名,该算法是尽可能“深”地搜索一个图。(算导22.3

哈夫曼树是一种贪心的算法,可以使带权值和最小。(算导16.3

呃,不知道怎么说,感觉似懂非懂。还是思考的不够,练习的也不够。现在最缺的就是时间了……

 

POJ 1837 Balance:算是DP吗?我也说不太清楚。其实就是遍历所有可能的解。每轮遍历用到了上一轮遍历的结果。迭代啊迭代~把左右两边合并到一个长数组里算是蛮有用的技巧。

 

POJ 3321 Apple Tree:很复杂呀很复杂。先用邻接表存储输入的边。再用DFS遍历树。遍历时要重新排列序号map[i]。使用类似算导上时间戳的方法来界定每个分枝的位置。入递归时begin[i],出递归时end[i]。最后用树状数组来管理修改及求和。求的是一个树枝上的和,所以可以写成sum(end[i])-sum(begin[i]-1)

 

POJ 2013 Symmetric Order:累的时候水一题还是蛮happy的。给一串名字序列,一半正着输出,一半逆着输出。逆输出的时候用n%2?n-2:n-1判定起始位置。

 

POJ 1088 滑雪:个人感觉是蛮经典的DP。思路也比较清晰。状态转移方程 len[i][j] = max{ len[i-1][j], len[i+1][j], len[i][j-1], len[i][j+1]}+1。只是递归时的边界条件判断挺麻烦。觉得可以先对高度进行排序,然后再由小到大求解,应该就可以不使用递归。我对递归不是很感冒。

 

POJ 1007 DNA Sorting:水题。算出每个字符串的值,根据值由小到大输出。

 

POJ 1018 Communication System:一开始以为是DPWA了好几次才发现B/P根本没有最优子结构。虽然雷同学说这题算DP,可我感觉就是搜索。遍历整个矩阵,对每种可能的B求最小的∑P。是一个O((m*n)^2)的方法。我做了641MS。看看大牛的0MS……汗颜啊。对DP认识太浅。搜索也基本不会。还是懂的太少了。

 

POJ 1836 Alignment:从左往右,从右往左分别求一次最长递增子序列。最后结果就是N-max{f[i]+b[j]: i<j}。算法很简单。只是要想到这样做不容易。

 

POJ 3253 Fence Repair:霍夫曼树。一开始只想到了很SB的方法,每次求和之后重新整理数组。是一个O(n^2)的算法。500MS。后来从雷同学那里知道可以用两个数组模拟堆排序的方法。时间复杂度是O(n)。最后才用了16MS。做出来感觉相当好啊。可是这感觉相当好是建立在郁闷了一晚的基础上的……每次做题都只能证明一个事实,我真的是啥都不懂。

 

POJ 2159 Ancient Cipher:相当恶心的题,题目会误导你,以为是只位移一位。其实位移是不确定的,只要保证一一映射。统计并比较明密文每个字母出现的频率,完全相等即可认为是YES。水题不水啊!关键是要细心审题。

 

POJ 2479 Maximum sum:从推荐的50题上找来的。想法其实很简单。就是最大子段和的应用。从左往右求一遍,再从右往左求一遍。用left[i](right[i])保存当前i位置能得到的最大和。结果就是max{left[i]+right[i+1]: 0<i<N}。实现起来却错了很多次,自己的代码能力还是不强。

 

POJ 2593 Max Sequence:与2479相同,只要修改一下规模和IO就可以AC

 

明天就要去武大比赛了,感觉还是有点紧张的。因为以前都是有学长带队,这次是自己的队伍,没有依靠了吧……成绩倒不怎么担心,水平确实不够,能去参加纯属幸运。主要在于增加比赛经验,提高团队协作能力。

 

中长期目标肯定是在大赛中取得好成绩。但这是建立在坚强的团队实力的基础上的。所以暂时不考虑去得什么奖的问题。把精力都放在如何在尽可能短的时间内提高水平,增强实力上。给我自己的目标是在4-5周内把推荐的50题全部完成。然后就进入USACO的练习中去。队伍的话,则要增加一起练习的时间,把握每次比赛的机会。既要分工协作,也要共同专研,多交流多讨论,提升队伍的综合实力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值