- 在线时间
- 0 小时
- 最后登录
- 2010-1-23
- 注册时间
- 2010-1-23
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 27 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 12
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 0
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   7.37% 该用户从未签到
|
一位高手对我的建议:# z8 H& w, r* Z5 K" Q9 c* u/ f
5 k' B; v' o* \" E$ Z4 @0 J$ B& ?
一般要做到50行以内的程序不用调试、100行以内的二分钟内调试成功.acm主要是考算法的
1 v' M# Q9 _+ h6 s4 X,主要时间是花在思考算法上,不是花在写程序与debug上。
+ T! ~% o, o+ W- L, P下面给个计划你练练:% b* ?; j2 A; K9 D7 \' M9 ?" q
5 Q$ J; w3 i: l2 ~9 p
第一阶段:
3 ?. F% p1 _* ^5 L 练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码,3 X$ n$ \2 z' ]) k0 A, _ ~
因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打, s' J$ V. {: F% t
出来. 9 Q$ v0 k9 h1 W+ V9 A' K7 s; N! X) ?
1.最短路(Floyd、Dijstra,BellmanFord)
" ?. Z7 w7 K' T# a: X. u) o2 Z 2.最小生成树(先写个prim,kruscal要用并查集,不好写) . Y) e7 k; r6 s$ L6 p0 @
3.大数(高精度)加减乘除 / i8 X4 |! p1 q
4.二分查找. (代码可在五行以内)
" L6 v$ s2 u8 D' m 5.叉乘、判线段相交、然后写个凸包. 1 d# K8 a4 v- f) o; n
6.BFS、DFS,同时熟练hash表(要熟,要灵活,代码要简)
3 s! F/ A9 t6 p$ C 7.数学上的有:辗转相除(两行内),线段交点、多角形面积公式.
, n1 f7 d8 J( w2 W 8. 调用系统的qsort, 技巧很多,慢慢掌握.
% |) k" }, x8 r2 h1 S 9. 任意进制间的转换 ' X( m) s7 ^1 p: F) x' A
' Q$ X9 d# }4 {6 l) w7 k: G
. N( M" U2 [! u第二阶段:3 y* \& P6 b! z7 q; }- F
练习复杂一点,但也较常用的算法。 . B$ s* T8 o1 F3 J
如: # K/ u6 T$ P C- f1 C1 R
1. 二分图匹配(匈牙利),最小路径覆盖
Q( d8 b9 u* A/ Q) A! v 2. 网络流,最小费用流。
: |: D! A- d, q/ _1 |0 ` 3. 线段树.
+ a, G6 L# t& ?* l9 Q9 f) y 4. 并查集。 7 U" L8 c2 }/ b4 J/ x4 ]
5. 熟悉动态规划的各个典型:LCS、最长递增子串、三角剖分、记忆化dp " J* m; a0 V% G4 w2 X, i4 g
6.博弈类算法。博弈树,二进制法等。 % F I& S. z- a1 L. ?3 ~' ~
7.最大团,最大独立集。
* |( q* f2 k& R# l 8.判断点在多边形内。
& i* Z6 d: K3 ]+ N6 Q; c 9. 差分约束系统. + u6 f* a3 T8 Z8 i
10. 双向广度搜索、A*算法,最小耗散优先.
, R1 }0 V+ i2 F" M3 N& J7 g: k& Y& e/ X) Y" D
0 S5 e, A( S" r& _: X) Y2 `' x第三阶段:' ~/ ~" |0 ~% r4 ]7 l2 i# X5 }( E
前两个阶段是打基础,第三阶段是锻炼在比赛中可以快速建立模型、想新算法
" f7 S( j- g; M" K. }: t$ C。这就要平时多做做综合的题型了。
( q: z5 B6 {, b, v4 u2 s 1. 把oibh上的论文看看(大概几百篇的,我只看了一点点,呵呵)。 9 h b' O- y( `
2. 平时扫扫zoj上的难题啦,别老做那些不用想的题.(中大acm的版主经常说我挑简单的来4 i: ^" f9 s. `
做:-P ) ' h6 U1 {: L. D5 d
3. 多参加网上的比赛,感受一下比赛的气氛,评估自己的实力.
4 w: w8 {# L6 m! N, J. C 4. 一道题不要过了就算,问一下人,有更好的算法也打一下。 - ?9 I* O4 g) I, e" M3 ]* S7 i1 h( Q
5. 做过的题要记好 :-) |
|