数学建模社区-数学中国

标题: ACM练习建议 [打印本页]

作者: fisher_jiang    时间: 2006-10-18 01:09
标题: ACM练习建议
<p>一位高手对我的建议:<br/>&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp; 一般要做到50行以内的程序不用调试、100行以内的二分钟内调试成功.acm主要是考算法的<br/>,主要时间是花在思考算法上,不是花在写程序与debug上。&nbsp; <br/>下面给个计划你练练:<br/>&nbsp; <br/>第一阶段:<br/>&nbsp;&nbsp;&nbsp; 练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码,<br/>因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打<br/>出来.&nbsp; <br/>&nbsp;1.最短路(Floyd、Dijstra,BellmanFord)&nbsp; <br/>&nbsp;2.最小生成树(先写个prim,kruscal要用并查集,不好写)&nbsp; <br/>&nbsp;3.大数(高精度)加减乘除&nbsp; <br/>&nbsp;4.二分查找. (代码可在五行以内)&nbsp; <br/>&nbsp;5.叉乘、判线段相交、然后写个凸包.&nbsp; <br/>&nbsp;6.BFS、DFS,同时熟练hash表(要熟,要灵活,代码要简)&nbsp; <br/>&nbsp;7.数学上的有:辗转相除(两行内),线段交点、多角形面积公式.&nbsp; <br/>&nbsp;8. 调用系统的qsort, 技巧很多,慢慢掌握.&nbsp; <br/>&nbsp;9. 任意进制间的转换 </p><p><br/>第二阶段:<br/>&nbsp;&nbsp;&nbsp; 练习复杂一点,但也较常用的算法。&nbsp; <br/>如:&nbsp; <br/>&nbsp;1. 二分图匹配(匈牙利),最小路径覆盖&nbsp; <br/>&nbsp;2. 网络流,最小费用流。&nbsp; <br/>&nbsp;3. 线段树.&nbsp; <br/>&nbsp;4. 并查集。&nbsp; <br/>&nbsp;5. 熟悉动态规划的各个典型:LCS、最长递增子串、三角剖分、记忆化dp&nbsp; <br/>&nbsp;6.博弈类算法。博弈树,二进制法等。&nbsp; <br/>&nbsp;7.最大团,最大独立集。&nbsp; <br/>&nbsp;8.判断点在多边形内。&nbsp; <br/>&nbsp;9. 差分约束系统.&nbsp; <br/>10. 双向广度搜索、A*算法,最小耗散优先.</p><p><br/>第三阶段:<br/>&nbsp;&nbsp;&nbsp; 前两个阶段是打基础,第三阶段是锻炼在比赛中可以快速建立模型、想新算法<br/>。这就要平时多做做综合的题型了。&nbsp; <br/>&nbsp;1. 把oibh上的论文看看(大概几百篇的,我只看了一点点,呵呵)。&nbsp; <br/>&nbsp;2. 平时扫扫zoj上的难题啦,别老做那些不用想的题.(中大acm的版主经常说我挑简单的来<br/>做:-P )&nbsp; <br/>&nbsp;3. 多参加网上的比赛,感受一下比赛的气氛,评估自己的实力.&nbsp; <br/>&nbsp;4. 一道题不要过了就算,问一下人,有更好的算法也打一下。&nbsp; <br/>&nbsp;5. 做过的题要记好 :-)&nbsp;&nbsp;&nbsp; <br/>&nbsp; </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&nbsp; wo&nbsp; 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
一位高手对我的建议:
+ e. K6 L4 W7 u; O& I, u 8 s& F) H+ F* \
     一般要做到50行以内的程序不用调试、100行以内的二分钟内调试成功.acm主要是考算法的! X( G  ?3 H: R1 f* P2 O
,主要时间是花在思考算法上,不是花在写程序与debug上。  ( G4 y' ?% C! N" {4 R' |
下面给个计划你练练:: Q; F" c6 R" x
  3 `  V2 M9 D6 Q7 O
第一阶段:
5 J, K* Y7 s0 N7 |    练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码,
  E! ?5 [: i4 r4 x因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打
$ W/ I: i2 Q" Y& H3 ~  z出来.  
0 I) {% p- c" D( `0 ~8 ` 1.最短路(Floyd、Dijstra,BellmanFord)    y+ P  A; ?2 B  ^
2.最小生成树(先写个prim,kruscal要用并查集,不好写)  $ ^3 }" X" z" N3 ]5 s
3.大数(高精度)加减乘除  
' W# w( h! @7 f$ d( H* T 4.二分查找. (代码可在五行以内)  ! |$ Q9 ^2 E1 i4 U9 E$ }% B
5.叉乘、判线段相交、然后写个凸包.  / o# N# I% ^  Z+ c6 q( F
6.BFS、DFS,同时熟练hash表(要熟,要灵活,代码要简)  5 N. C5 Y) N- m+ ~1 h: I
7.数学上的有:辗转相除(两行内),线段交点、多角形面积公式.  
, v3 D9 r5 [9 L$ V# p' k2 a6 ?7 W 8. 调用系统的qsort, 技巧很多,慢慢掌握.  
# r( f5 @# d# u8 B, m7 C9 d( { 9. 任意进制间的转换
% i- F1 D# }* q6 K- t. ?
3 W( O: ?+ ?/ N& g  J' A9 j% K. E
- s* d) d6 J& |0 c第二阶段:
; T8 h7 ?6 ^- ~5 I6 |    练习复杂一点,但也较常用的算法。  
- w. [2 P" e8 h* e, L' @. [& h0 ~如:  
, ]" B6 b6 t$ m" `' M# d 1. 二分图匹配(匈牙利),最小路径覆盖  5 P0 N& G2 ~2 Q- f$ S7 S7 `9 A
2. 网络流,最小费用流。  
# Y" K! e. s+ ]8 @; ^+ f, o 3. 线段树.  ' \% u5 L6 [. n2 _" r
4. 并查集。  $ f& i! m- O. U* \* L2 j7 d0 w
5. 熟悉动态规划的各个典型:LCS、最长递增子串、三角剖分、记忆化dp  
# ?+ C0 h, B6 i4 W 6.博弈类算法。博弈树,二进制法等。  & e4 P5 e% [# @4 C# u: y
7.最大团,最大独立集。  8 ?( }) ^% a! Z6 B+ p+ @: z9 M6 u$ F
8.判断点在多边形内。  7 {, ]5 G$ D7 R' f
9. 差分约束系统.  1 h% N+ F# S7 m1 I( ]
10. 双向广度搜索、A*算法,最小耗散优先.
7 v& X) b( i# q6 V% s4 R( k% N! w9 b, U1 F

8 L) z0 T) G( y! A0 Q第三阶段:
; T3 N; Y. S6 j  {" [+ d    前两个阶段是打基础,第三阶段是锻炼在比赛中可以快速建立模型、想新算法
% I# _9 R6 Y: g" r6 A) ?( I0 M/ i。这就要平时多做做综合的题型了。  4 M- v( j$ D3 |. S3 j% g/ b' e
1. 把oibh上的论文看看(大概几百篇的,我只看了一点点,呵呵)。  
4 V+ N/ P; c$ c: X! ~ 2. 平时扫扫zoj上的难题啦,别老做那些不用想的题.(中大acm的版主经常说我挑简单的来
: ]$ R" }2 Q/ C) _: M0 M做:-P )  
& B# g% V  I4 g8 f& u+ ?( D$ \ 3. 多参加网上的比赛,感受一下比赛的气氛,评估自己的实力.  
* E" U$ h. Z4 r/ |' V9 P+ c 4. 一道题不要过了就算,问一下人,有更好的算法也打一下。  
5 p5 K/ b  G* s! |; T/ c, i- [ 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
& {1 \3 S" ^1 ~0 f; h3 I4 e+ J; x5 j

6 q' E0 E! z" @, r) x# T' O  s    我在努力!一直没有停过!
作者: kevin2234    时间: 2010-6-2 18:54
是啊,是啊!
作者: moyan    时间: 2010-10-14 21:56
朝这个方向好好努力!!!!!!!
作者: John8169    时间: 2011-1-31 21:17
其实我一直觉得楼主的品味不错!呵呵!3 w/ H1 u3 e3 O* O$ E8 N
数学中国社区越来越好!
' w5 _0 m- Q$ P) a
作者: 鸿光满面    时间: 2011-2-1 18:39
我还在地下一层
作者: 鸿光满面    时间: 2011-2-3 16:17
ding               
作者: 葉_浅浅    时间: 2011-2-17 18:19
其实我一直觉得楼主的品味不错!呵呵!
0 A+ Z# X8 `! |& n我一天不来数学中国社区就不爽~~~~3 B: M, F0 D0 ^0 j0 k

作者: shuizhizi    时间: 2011-3-5 13:27
唉,这样下来绝对是编程牛人,但是过程很痛苦赛
作者: 华夏之龙    时间: 2011-5-6 07:04
bucuo  a 支持一下。谢谢啊
作者: zhuhuaij    时间: 2011-5-8 00:10
既然你诚信诚意的推荐了,那我就勉为其难的听听吧!! q% i' U# u. u  [; U4 u" \  [
数学中国社区越来越好!
作者: 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