数学建模社区-数学中国
标题:
ACM练习建议
[打印本页]
作者:
fisher_jiang
时间:
2006-10-18 01:09
标题:
ACM练习建议
<p>一位高手对我的建议:<br/> <br/> 一般要做到50行以内的程序不用调试、100行以内的二分钟内调试成功.acm主要是考算法的<br/>,主要时间是花在思考算法上,不是花在写程序与debug上。 <br/>下面给个计划你练练:<br/> <br/>第一阶段:<br/> 练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码,<br/>因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打<br/>出来. <br/> 1.最短路(Floyd、Dijstra,BellmanFord) <br/> 2.最小生成树(先写个prim,kruscal要用并查集,不好写) <br/> 3.大数(高精度)加减乘除 <br/> 4.二分查找. (代码可在五行以内) <br/> 5.叉乘、判线段相交、然后写个凸包. <br/> 6.BFS、DFS,同时熟练hash表(要熟,要灵活,代码要简) <br/> 7.数学上的有:辗转相除(两行内),线段交点、多角形面积公式. <br/> 8. 调用系统的qsort, 技巧很多,慢慢掌握. <br/> 9. 任意进制间的转换 </p><p><br/>第二阶段:<br/> 练习复杂一点,但也较常用的算法。 <br/>如: <br/> 1. 二分图匹配(匈牙利),最小路径覆盖 <br/> 2. 网络流,最小费用流。 <br/> 3. 线段树. <br/> 4. 并查集。 <br/> 5. 熟悉动态规划的各个典型:LCS、最长递增子串、三角剖分、记忆化dp <br/> 6.博弈类算法。博弈树,二进制法等。 <br/> 7.最大团,最大独立集。 <br/> 8.判断点在多边形内。 <br/> 9. 差分约束系统. <br/>10. 双向广度搜索、A*算法,最小耗散优先.</p><p><br/>第三阶段:<br/> 前两个阶段是打基础,第三阶段是锻炼在比赛中可以快速建立模型、想新算法<br/>。这就要平时多做做综合的题型了。 <br/> 1. 把oibh上的论文看看(大概几百篇的,我只看了一点点,呵呵)。 <br/> 2. 平时扫扫zoj上的难题啦,别老做那些不用想的题.(中大acm的版主经常说我挑简单的来<br/>做:-P ) <br/> 3. 多参加网上的比赛,感受一下比赛的气氛,评估自己的实力. <br/> 4. 一道题不要过了就算,问一下人,有更好的算法也打一下。 <br/> 5. 做过的题要记好 :-) <br/> </p>
作者:
asialuo
时间:
2006-10-23 18:39
我只停留在第一阶段...
作者:
liuzhao
时间:
2006-11-26 01:09
建议很好,我就想这么去做了~
作者:
946976
时间:
2006-12-16 20:39
支持一下先
作者:
nkxiaoqi
时间:
2006-12-20 22:20
ACM题目确实要求很强的算法能力
作者:
Fantasy_FC
时间:
2006-12-27 14:35
不错啊!支持一下
作者:
kakana
时间:
2007-1-5 17:35
好
作者:
taochenpfj
时间:
2007-1-13 19:58
ding a wo xiang xue dian
作者:
pengyou0594
时间:
2007-1-26 23:29
感谢楼主,给我指明了方向
作者:
cedricmht
时间:
2007-5-31 23:02
<p>你是一盏明灯呀</p><p>为我指明了方向呀</p><p></p>
作者:
fansmiling
时间:
2007-6-18 12:21
<p>~~~good</p><p></p>
作者:
心如往事
时间:
2007-7-30 09:47
我连第一阶段都上不了手。
作者:
colorShine
时间:
2007-8-24 00:50
感谢楼主了啊,这建议不错啊,我现在还停留在第一阶段,真是惭愧啊,惭愧啊,我准备从现在开始就这样做,看看啥时候能到第三阶段。呵呵,加油啊加油啊……
作者:
wangyexin
时间:
2007-10-7 13:38
<p>谢谢提醒</p>
作者:
术兀
时间:
2007-10-9 02:45
<p>谢谢</p><p>虽然……</p><p>但是</p><p>还是谢谢喽</p><p></p>
作者:
pipiaishuxue
时间:
2009-11-6 20:46
支持一下,顶
作者:
厚积薄发
时间:
2009-12-2 11:28
顶啊,支持
作者:
nwpupanda
时间:
2009-12-3 20:33
支持下啦O(∩_∩)O~不过偶还只是停留在第一阶段的前一阶段啊。。。。。。。。。。。
作者:
hetao220284
时间:
2009-12-3 20:53
现在来顶 不会晚吧。。。。。。。。。。。。。。。。。。。。。。。
作者:
540982016044
时间:
2010-1-21 10:24
看来我是不行了
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
作者:
chip
时间:
2010-1-21 16:19
非常感谢楼主分享,顶一下先了。
作者:
yhytju
时间:
2010-1-23 11:09
一位高手对我的建议:
6 B0 b, j' D& H' [0 b
# h q1 I! N$ N) h7 {- f& \
一般要做到50行以内的程序不用调试、100行以内的二分钟内调试成功.acm主要是考算法的
B2 Z& W. d0 \. W' j& Q0 e6 f
,主要时间是花在思考算法上,不是花在写程序与debug上。
, w( f) S" k8 m! v* Y3 H
下面给个计划你练练:
/ e# V2 a# G: i2 v+ L* o/ u* e. J% c# v, N
' O( u; \, t* u, M3 u
第一阶段:
" A( \- K0 r9 D) w5 J5 a
练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码,
3 T. `0 x2 T3 C0 c2 f8 ]
因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打
# h6 J$ _8 P) c2 j, g
出来.
' @4 O5 d& o! B/ m6 [. K$ ]5 ~
1.最短路(Floyd、Dijstra,BellmanFord)
/ r/ {. }, L6 M( D
2.最小生成树(先写个prim,kruscal要用并查集,不好写)
- H7 D( h) U: D$ r; `
3.大数(高精度)加减乘除
5 P* K$ f! G$ ]2 { n
4.二分查找. (代码可在五行以内)
% `1 n: x9 W8 `
5.叉乘、判线段相交、然后写个凸包.
8 T# H1 c3 d& t
6.BFS、DFS,同时熟练hash表(要熟,要灵活,代码要简)
* p2 o: E2 {3 F' V& ~ Y% `( d$ Q
7.数学上的有:辗转相除(两行内),线段交点、多角形面积公式.
5 t6 f( m7 a5 T% @4 d6 |3 z) ?% g
8. 调用系统的qsort, 技巧很多,慢慢掌握.
+ W6 M+ r3 k2 p8 N
9. 任意进制间的转换
) l; ~7 q+ C# d
! _- E9 d# C6 { `5 d: ~
) z2 Y% `8 L8 I7 ]# ?' d
第二阶段:
6 [- R$ N5 N6 c# G
练习复杂一点,但也较常用的算法。
; N" Z/ R0 }, [, n
如:
9 E3 c- z% I+ L2 ~2 w2 K: s
1. 二分图匹配(匈牙利),最小路径覆盖
- m, |/ Q7 b" l
2. 网络流,最小费用流。
' f' `! H) l3 q! W3 ?
3. 线段树.
' J. ]' w& J, ?; E$ g
4. 并查集。
1 W8 [7 I# ]0 u! \- a. l; {3 p
5. 熟悉动态规划的各个典型:LCS、最长递增子串、三角剖分、记忆化dp
( w: T. s% v" `8 D9 O$ i1 r. b
6.博弈类算法。博弈树,二进制法等。
9 D( c. d, T P$ v
7.最大团,最大独立集。
: `. T+ E" {, T6 ~2 A/ I4 W
8.判断点在多边形内。
5 U+ G* ? t' O; N4 ?
9. 差分约束系统.
, p( V; F0 y+ b) o$ n
10. 双向广度搜索、A*算法,最小耗散优先.
8 |/ U: s) w' j. \ q5 ]$ b
$ Q* g% ^) A7 i1 H7 @9 q
3 T4 K$ w9 }- t; j( G {
第三阶段:
0 x; R; t4 k* `5 a
前两个阶段是打基础,第三阶段是锻炼在比赛中可以快速建立模型、想新算法
8 U! x. ?8 T: ~$ A3 }9 I
。这就要平时多做做综合的题型了。
; T4 B h' o2 b& x \ N$ I
1. 把oibh上的论文看看(大概几百篇的,我只看了一点点,呵呵)。
" `) g, I* q! W1 [4 ^* n
2. 平时扫扫zoj上的难题啦,别老做那些不用想的题.(中大acm的版主经常说我挑简单的来
) P5 L4 A1 Y/ Y$ f7 C; s$ r
做:-P )
- V/ [7 u# `; o' j+ s
3. 多参加网上的比赛,感受一下比赛的气氛,评估自己的实力.
6 c# I( W- s+ } @% k
4. 一道题不要过了就算,问一下人,有更好的算法也打一下。
+ f! U6 B/ V& Q: h- Z8 m* _
5. 做过的题要记好 :-)
作者:
兄弟
时间:
2010-1-28 13:57
顶!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!顶!!!!!!!!!!!!!!!!
作者:
LM386
时间:
2010-1-28 13:58
顶!!!!!!!!!!!!!!!
作者:
silecainengai
时间:
2010-4-12 08:29
方向有了,不知道啥时候才能到那种高度!
作者:
pingpangbing
时间:
2010-4-29 19:35
可以试试可以试试可以试试可以试试可以试试可以试试
作者:
mightyrock
时间:
2010-5-8 19:15
哎,如此强大,怎是人人都能达到的呀?看来我还有一万光年的差距呀!
作者:
qnbs1
时间:
2010-5-15 18:00
正在第一阶段...唉.加油吧.........
作者:
xiaojinwen
时间:
2010-5-26 23:28
回复
10#
cedricmht
! S( f7 O. u% [7 _- i [$ ?
" l u( I' A( z. j
) m! w' O; t' z+ a
我在努力!一直没有停过!
作者:
kevin2234
时间:
2010-6-2 18:54
是啊,是啊!
作者:
moyan
时间:
2010-10-14 21:56
朝这个方向好好努力!!!!!!!
作者:
John8169
时间:
2011-1-31 21:17
其实我一直觉得楼主的品味不错!呵呵!
* M0 s, V0 V5 i" g
数学中国社区越来越好!
) e u/ H) J/ B$ I! m' w
作者:
鸿光满面
时间:
2011-2-1 18:39
我还在地下一层
作者:
鸿光满面
时间:
2011-2-3 16:17
ding
作者:
葉_浅浅
时间:
2011-2-17 18:19
其实我一直觉得楼主的品味不错!呵呵!
* p' E( x. b4 s5 Q! ]) A! [
我一天不来数学中国社区就不爽~~~~
: f6 s7 t3 H0 T; |
作者:
shuizhizi
时间:
2011-3-5 13:27
唉,这样下来绝对是编程牛人,但是过程很痛苦赛
作者:
华夏之龙
时间:
2011-5-6 07:04
bucuo a 支持一下。谢谢啊
作者:
zhuhuaij
时间:
2011-5-8 00:10
既然你诚信诚意的推荐了,那我就勉为其难的听听吧!
2 |- {8 G: ^! o5 Z, E
数学中国社区越来越好!
作者:
qingmuda
时间:
2011-5-20 15:06
支持,学习~
作者:
O_young_man
时间:
2011-5-24 19:21
Thank you!
作者:
巧云225
时间:
2011-6-10 13:39
好,真不错
作者:
江南刹
时间:
2011-7-17 19:52
还没开始做ZOJ上的题呢!
作者:
dailifeng
时间:
2011-8-28 08:37
支持一下
作者:
中耿苍安
时间:
2011-10-26 00:39
谢谢你的发言` 非常有意义
作者:
Jackge
时间:
2011-11-20 21:45
吼吼……………………
作者:
枫泯
时间:
2012-1-23 20:04
这个,嗯.十分好的建议
作者:
nandehutugood
时间:
2012-11-9 12:09
感谢楼主,感谢楼主,
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5