2013-C05-team5

从 Trac 迁移的文章

这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。

原文章内容如下:

流水账(By AIdancer):
开局dark_sun看完A题,发现是最小环,然后直接上去写了...可惜写错了....然后WA两次后我看了下发现有个低级错误,改过后就YES了。
期间kotomi给我讲了下J的意思,觉得就是个爆搜么...刚开始算复杂度的时候想当然了,少算了一层...但认为还是可以写的。然后我讲了下D,明显是个DP。由于两边比较多,所以只需要把两边单独处理一下,中间向
两边扩一下(最多扩50),然后像括号匹配那样搞就可以了。结果发现还是写挫了啊,我150的TLE了,zYc学长100的过了,赛后讨论了下确实只开到100就够了...然后写D的同时基本无压力的过了B和C。B因为一个continue
敲成break的错误WA了一次。至此节奏还是好的...
接下来就悲剧了,先是D没拍出来,然后上去写J,写了一个小时发现跑的太慢了, 再算了算发现复杂度算错了,想当然了。。汗!我想了下,觉得这状态不对,赶紧让dark_sun停下F去想J的其他写法,然后很快想到,
果断换下来重写(这时候如果改上一个版本可能花费时间更多),然后半小时过了....期间我跟Kotomi想F,拿来一看,这不是先分块,然后相交的块连边然后覆盖匹配么....Kotomi说不对,样例都过不了....然后.....yy了半天
想了个贪心,然后很快反例又出来了....然后就没有然后了,最后20分钟在无奈的在D上面TLE...
整场比赛最大的错误就是错误估计了J的复杂度,然后写法虽然清楚,但是却太麻烦而且太慢...导致浪费了很多时间,这个我负主要责任。然后F上面算错了样例...这个,也不能全怪Kotomi,归根结底还是自己二分图不扎实;
如果对匹配和覆盖的意义理解的足够透彻,然后题目分析到位,那我完全可以证明是Kotomi算错了...所以还是多训练些才是。

{{{
小结By:Kotomi
今天都是我的错。
一开始学长学完了A,我看了一下,跟学长说最小环边和距离不能存在一起,学长说之前这样写也可以,而且F[i][j]=0的时候,f[i][k]+f[k][j]<f[i][j]也不对,,
WA了两次之后,另外一个学长过来看,也确定这样写是错的,然后才改过了3Y.
然后B贪心continue写成break错了一次,然后2Y,然后C推出公式之后也1Y,本来开局是很好的。
但是J的枚举写复杂了,搞了一个多小时才写过。
F题没搞出来,一听完学长说题意就确定是二分图匹配,但是样例2算不出来,于是不敢写,其实后来发现是我算错了;如果我确定一下,然后让学长也算一下样例,
估计也下子也能过。
D题学长主要忙在其他地方,没时间再优化,如果前面写快一点,再优化一下估计也能过...
}}}

{{{
小结by AIdancer:
整整5场比赛了,每场都排第5...每场都有明明有思路能做却没做完的题目...每场都会发现一些新的奇葩一般的错误,我猜6支队里面没有第二支错误犯得这么奇葩了...确实应该好好想想治疗方案。
就我个人感觉而言,我觉得我们开局通常都还是可以的,只要没有被编译器的问题坑到...但是后面的讨论有些乱、沉不住气;最好强迫自己遵循下面这个模式:

认真读题-->标条件-->分析问题-->算法雏形-->复杂度计算-->优化算法瓶颈-->整理思路-->编码(或纸上编码)-->debug。

分析和优化上的弱势只能依靠刷一些中档题或中档偏难的题来提高,而其他的经常会有做不好的地方儿导致应该很快1Y的问题拖拉了很久才过,特别是“整理思路”这个地方,说
白了就是先自己在脑子里想明白了再写,大致上每一步的实现方式;如果在上机过程中发现不对,就不要瞎想了果断换下来在纸上写写代码想想实现,这样自己可以尽快理清思路
,还可以给队友腾出机器。

然后,我们不能总是做那些水题啊...更坑爹的是每次连水题都做不完啊...前段时间我一直在犹豫到底要不要每个人先略微分一下方向,起初想先按着比赛来吧,来啥题练啥题,
而且肥羊学长也说了,三个人的能力尽量接近才好,最好都互相学习,整体提升。但是目前来说无论单独拿出哪一方面(复杂点的数据结构、图论问题、几何问题、数学问题),
我们仨都无能为力,也许再练练之后可以顺利解出水题,但是总不能就停在那里了啊,总有种会的大家都会,不会的大家都不会的感觉...我还是想先略微分一下,平时做了比赛
的题目后Kotomi多补一下数据结构和图方面的东西,Dark_sun多补一下几何,我多补一下数学题....不然好好一个模型摆在那里,憋了半天却由于学艺不精三个人都愣在那里,感
觉实在是蛋疼啊...这样三个人先略微加强一下自己的方面,然后在比赛的后期交流想法也更管用,也能提供更广的思路,把一个每个人单独都无力做出的题目,三个人一起填一下
坑,说不定就拍下了。等大家都把自己方面学的精一点之后,再互相学习渗透一下,这样学习的效果应该会更好。
}}}


{{{
我提两点建议:
1.学长们可以参考4队http://acm.zju.edu.cn/pia/trac/wiki/2013-team4 把比赛没过的题目记录成清单,平时刷题优先考虑这些题目,在赛后做这些题的过程中学习新的算法
2.如果遇到3个人都不会的方向(举个例子,AC自动机),那么也把它加到一个专门的清单里,然后上网搜集学习相关资料,记录学习心得,具体可参考去年NuclearFusion的做法http://acm.zju.edu.cn/pia/trac/wiki/2012-team4 另外如果你们不知道如何学习新的东西(比如不知道哪里有好的资料),可以在小结里把具体问题提出来,教练组和其他队伍的同学也许能帮忙

——大肥羊
}}}

{{{
小结by Dark_sun
经过这场,还是发现了一些问题。比如F题,Kotomi那种建图是对的,但是他建图给我看的时候略混乱,节点都是没有意义的1,2,3和A,B,C
然后,我就没完全看懂他的意思,再加上他算错了样例,所以就这样错过了正解。
像这样构图的时候,尽量用有意义的符号来表示节点,比如row1,row2,col1,col2之类的。
不这样写清楚的话,把样例的图画出来都要搞半天还不一定对。
能正确认识到这一点,还是有收获的。
}}}

流水账(By AIdancer):

开局dark_sun看完A题,发现是最小环,然后直接上去写了...可惜写错了....然后WA两次后我看了下发现有个低级错误,改过后就YES了。

期间kotomi给我讲了下J的意思,觉得就是个爆搜么...刚开始算复杂度的时候想当然了,少算了一层...但认为还是可以写的。然后我讲了下D,明显是个DP。由于两边比较多,所以只需要把两边单独处理一下,中间向

两边扩一下(最多扩50),然后像括号匹配那样搞就可以了。结果发现还是写挫了啊,我150的TLE了,zYc学长100的过了,赛后讨论了下确实只开到100就够了...然后写D的同时基本无压力的过了B和C。B因为一个continue

敲成break的错误WA了一次。至此节奏还是好的...

接下来就悲剧了,先是D没拍出来,然后上去写J,写了一个小时发现跑的太慢了, 再算了算发现复杂度算错了,想当然了。。汗!我想了下,觉得这状态不对,赶紧让dark_sun停下F去想J的其他写法,然后很快想到,

果断换下来重写(这时候如果改上一个版本可能花费时间更多),然后半小时过了....期间我跟Kotomi想F,拿来一看,这不是先分块,然后相交的块连边然后覆盖匹配么....Kotomi说不对,样例都过不了....然后.....yy了半天

想了个贪心,然后很快反例又出来了....然后就没有然后了,最后20分钟在无奈的在D上面TLE...

整场比赛最大的错误就是错误估计了J的复杂度,然后写法虽然清楚,但是却太麻烦而且太慢...导致浪费了很多时间,这个我负主要责任。然后F上面算错了样例...这个,也不能全怪Kotomi,归根结底还是自己二分图不扎实;

如果对匹配和覆盖的意义理解的足够透彻,然后题目分析到位,那我完全可以证明是Kotomi算错了...所以还是多训练些才是。

小结By:Kotomi
今天都是我的错。
一开始学长学完了A,我看了一下,跟学长说最小环边和距离不能存在一起,学长说之前这样写也可以,而且F[i][j]=0的时候,f[i][k]+f[k][j]<f[i][j]也不对,,
WA了两次之后,另外一个学长过来看,也确定这样写是错的,然后才改过了3Y.
然后B贪心continue写成break错了一次,然后2Y,然后C推出公式之后也1Y,本来开局是很好的。
但是J的枚举写复杂了,搞了一个多小时才写过。
F题没搞出来,一听完学长说题意就确定是二分图匹配,但是样例2算不出来,于是不敢写,其实后来发现是我算错了;如果我确定一下,然后让学长也算一下样例,
估计也下子也能过。
D题学长主要忙在其他地方,没时间再优化,如果前面写快一点,再优化一下估计也能过...
小结by AIdancer:
整整5场比赛了,每场都排第5...每场都有明明有思路能做却没做完的题目...每场都会发现一些新的奇葩一般的错误,我猜6支队里面没有第二支错误犯得这么奇葩了...确实应该好好想想治疗方案。
就我个人感觉而言,我觉得我们开局通常都还是可以的,只要没有被编译器的问题坑到...但是后面的讨论有些乱、沉不住气;最好强迫自己遵循下面这个模式:
认真读题-->标条件-->分析问题-->算法雏形-->复杂度计算-->优化算法瓶颈-->整理思路-->编码(或纸上编码)-->debug。
分析和优化上的弱势只能依靠刷一些中档题或中档偏难的题来提高,而其他的经常会有做不好的地方儿导致应该很快1Y的问题拖拉了很久才过,特别是“整理思路”这个地方,说
白了就是先自己在脑子里想明白了再写,大致上每一步的实现方式;如果在上机过程中发现不对,就不要瞎想了果断换下来在纸上写写代码想想实现,这样自己可以尽快理清思路
,还可以给队友腾出机器。
然后,我们不能总是做那些水题啊...更坑爹的是每次连水题都做不完啊...前段时间我一直在犹豫到底要不要每个人先略微分一下方向,起初想先按着比赛来吧,来啥题练啥题,
而且肥羊学长也说了,三个人的能力尽量接近才好,最好都互相学习,整体提升。但是目前来说无论单独拿出哪一方面(复杂点的数据结构、图论问题、几何问题、数学问题),
我们仨都无能为力,也许再练练之后可以顺利解出水题,但是总不能就停在那里了啊,总有种会的大家都会,不会的大家都不会的感觉...我还是想先略微分一下,平时做了比赛
的题目后Kotomi多补一下数据结构和图方面的东西,Dark_sun多补一下几何,我多补一下数学题....不然好好一个模型摆在那里,憋了半天却由于学艺不精三个人都愣在那里,感
觉实在是蛋疼啊...这样三个人先略微加强一下自己的方面,然后在比赛的后期交流想法也更管用,也能提供更广的思路,把一个每个人单独都无力做出的题目,三个人一起填一下
坑,说不定就拍下了。等大家都把自己方面学的精一点之后,再互相学习渗透一下,这样学习的效果应该会更好。
我提两点建议:
1.学长们可以参考4队http://acm.zju.edu.cn/pia/trac/wiki/2013-team4 把比赛没过的题目记录成清单,平时刷题优先考虑这些题目,在赛后做这些题的过程中学习新的算法
2.如果遇到3个人都不会的方向(举个例子,AC自动机),那么也把它加到一个专门的清单里,然后上网搜集学习相关资料,记录学习心得,具体可参考去年NuclearFusion的做法http://acm.zju.edu.cn/pia/trac/wiki/2012-team4 另外如果你们不知道如何学习新的东西(比如不知道哪里有好的资料),可以在小结里把具体问题提出来,教练组和其他队伍的同学也许能帮忙
——大肥羊
小结by Dark_sun
经过这场,还是发现了一些问题。比如F题,Kotomi那种建图是对的,但是他建图给我看的时候略混乱,节点都是没有意义的1,2,3和A,B,C
然后,我就没完全看懂他的意思,再加上他算错了样例,所以就这样错过了正解。
像这样构图的时候,尽量用有意义的符号来表示节点,比如row1,row2,col1,col2之类的。
不这样写清楚的话,把样例的图画出来都要搞半天还不一定对。
能正确认识到这一点,还是有收获的。
附加文件