- 在线时间
- 0 小时
- 最后登录
- 2010-1-23
- 注册时间
- 2010-1-23
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 27 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 12
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 0
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   7.37% 该用户从未签到
|
一位高手对我的建议:8 J) }1 }) J' E& @6 [
! y/ g5 S0 B- P+ X5 N( r, b
一般要做到50行以内的程序不用调试、100行以内的二分钟内调试成功.acm主要是考算法的; F5 M7 k9 _: q4 W7 H" q0 q* X
,主要时间是花在思考算法上,不是花在写程序与debug上。
: |; z$ B) x' C& M. E @下面给个计划你练练:+ Z P4 A3 b' }& n. B% R1 |
. S7 h6 o& S& ~; r9 _6 Y第一阶段:
! t$ H. i3 r& {; v0 g6 d1 q7 c0 a0 g' P 练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码,# N$ `8 N+ \2 a# D4 \6 I5 ~
因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打
, H$ Q$ m! K7 g: y; x6 o. L出来.
4 }3 @( x; R* a& k2 S# u 1.最短路(Floyd、Dijstra,BellmanFord) 2 N- G+ T/ v# r# P
2.最小生成树(先写个prim,kruscal要用并查集,不好写)
8 B- g) I9 U s/ \8 } 3.大数(高精度)加减乘除
; G/ |$ l" h1 |. l6 e 4.二分查找. (代码可在五行以内)
/ \. y d' O7 J' L/ s K/ a3 `# s 5.叉乘、判线段相交、然后写个凸包.
. E. ^; D/ Y: \9 g 6.BFS、DFS,同时熟练hash表(要熟,要灵活,代码要简) 6 `( l0 O0 R3 n+ i
7.数学上的有:辗转相除(两行内),线段交点、多角形面积公式. 1 S8 c* o V% e1 b8 b! k9 V: s
8. 调用系统的qsort, 技巧很多,慢慢掌握. : m) R) p {- J2 h- i$ R
9. 任意进制间的转换 + h" H" O4 t8 y5 w1 M% s6 C+ M
3 {& E ?/ `( W: |5 m6 p! m' ]% s
" Z: }. R: Z n. I第二阶段:
# e, V9 D, `# l9 u; Q 练习复杂一点,但也较常用的算法。
3 B9 w% P, y1 g1 A0 z1 O. s如: ( ~4 _8 C2 n) ~$ w& x/ U
1. 二分图匹配(匈牙利),最小路径覆盖
- A" g6 @( n) u- t/ l 2. 网络流,最小费用流。 : @1 y( d4 ^4 b8 j& V
3. 线段树.
5 n( C3 Y' {% K X) ^: k6 ~; a/ ^ 4. 并查集。
$ Q+ O: C3 R$ T$ k0 I 5. 熟悉动态规划的各个典型:LCS、最长递增子串、三角剖分、记忆化dp }1 m$ \$ b* x+ I
6.博弈类算法。博弈树,二进制法等。
# T# k9 L9 v. m. }! y4 N 7.最大团,最大独立集。 ) V/ s5 U/ M1 L; S9 o, Q" a
8.判断点在多边形内。
1 o) H0 w) k' U 9. 差分约束系统.
# n6 \$ h/ g, e h7 P; G* R+ A10. 双向广度搜索、A*算法,最小耗散优先.
3 B: d0 M2 c8 F" J
1 D9 t! M/ z8 l- f. E9 y! e, ?& F& e
2 K8 \1 u, Y) e" N" l0 O第三阶段:9 ~' |0 M$ v% `9 C2 l. `
前两个阶段是打基础,第三阶段是锻炼在比赛中可以快速建立模型、想新算法
. D+ M `( L7 M& j' J. p' }- e7 m。这就要平时多做做综合的题型了。 , i0 U3 x1 ? X: L( X' p
1. 把oibh上的论文看看(大概几百篇的,我只看了一点点,呵呵)。 ; i" B: v9 a3 b4 e. U. L0 R" x7 E
2. 平时扫扫zoj上的难题啦,别老做那些不用想的题.(中大acm的版主经常说我挑简单的来
( @. k1 I, ^ N# Q3 U% i做:-P ) ( ?" ?! V7 i' A2 [: b
3. 多参加网上的比赛,感受一下比赛的气氛,评估自己的实力. : a- z7 }, Z# x6 y
4. 一道题不要过了就算,问一下人,有更好的算法也打一下。
3 k1 C, s' D4 O4 W" w 5. 做过的题要记好 :-) |
|