2014-C06-team4
从 Trac 迁移的文章
这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。
原文章内容如下:
[[Image(C06.png)]]
都是我的锅T T --- by kotomi
== 流水账 ==
=== by gantians ===
我从后往前看,kotomi上去写A,过了,我看完题觉得没题可以马上写,想了一下H,想到四点共球,然后进行枚举的。。上去写了一点发现判交不好判。。旁边kotori好像和kotomi为了E题的算法争论了起来,然后kotori上去写了E,中间我和kotomi交换了一下题意,C题我知道了是矩形并,但是我也没看范围。。。B题很明显是模拟。。。发现E题T了,然后发现时限有问题,kotomi就上去写B了,我继续想D。。。我想到了一个做法,于是推了起来,kotomi的样例不过,就下来调了,我上去写了D。。然后kotomi上去调B,他样例不过,我帮他debug的时候发现题目看错了。。于是他改了下就过了。。我继续写D。。。写完测了部分样例,发现有错,kotori上去写E,我在纸上查错,E然后过了,我上去调D。。。调完样例过了,交了wa,然后就下来查错,他们讨论C和G。。kotomi有一个G的想法就上去写了,我下来推了下D,加入了检验的部分,然后交了一发,发现检验的写错了,又交了一发,都是wa。。。kotomi在上面写G,这时已经封board了,kotori突然发现C题范围很小,可以离散化暴力写。。。然后上去写了一会1Y = =|,我最后也没发现错误。。就结束了。。赛后发现是因为排序的时候会爆int。。导致排序错了
=== By Kotomi ===
今天从前面开始看,A题比较简单,看完就去写了,然后写完就过了。期间gantians学长推了一下H,感觉可做,但是讨论了一下之后,发现二分完半径之后应该怎么处理有点没有想法,不能搞定,于是放弃了。kotori学长看到E,感觉可做,讨论了一会,感觉没问题,但是纠结了一会用bfs呢,还是其他来转移,感觉有点没必要,科学的话直接写就可以了。 纸上的时限是60s,感觉可以随便写,然后2s就返回T了,被告知提交的时限不一致,然后kotori学长去想其他没这么暴力的做法,然后我去写B。 B写完发现样例不对,看了一下程序感觉挺科学的,gantians学长帮我算了一下样例,发现题意和我说的不一样= =#,刚好宽和窄的设定是不一样的。改了一下之后,再调试了一下就过了。然后kotori学长E题决定用spfa来转移,于是先上去写。gantians学长在推D的公式,我去把其他题目看完。C感觉是矩形扫描线,然后就不会做了。G题old成马,但是也不会...gantians学长推出D题的公式后,就上去写了,样例过了,交了就返回WA,不明真相,于是gantians学长就去打印debug了。期间有队伍过了C,就回去想C,但是还是没什么想法。于是开了新的坑,尝试乱搞G的做法。gantians学长改了一些地方,发现有地方可能爆int,改成long long之后还是WA。这时有点迷茫,因为我没有想这题,各种情况有点多,没有一一推过,听gantians学长说了一遍代码,感觉逻辑没有问题,就不知道怎么办了,感觉重写一遍可能来不及,只好继续debug。 最后发现C的范围比较小,直接暴力floodfill就可以了,于是kotori学长就上去写了,写完就过了。G因为做法不科学,最后也没有调出样例,就放弃了,最后D也没有debug出来,赛后发现有个地方没用long long...
=== by kotori ===
今天从D题开始看,读完后没有想到简单做法,于是读E,发现是个有些变化的八数码问题。读完E后kotomi学长过了A,于是与他讨论。kotomi学长讲了一种用队列维护的bfs方法,我没有听懂,他又讲了一遍我还是没理解_(:з」∠)_ 由于状态数只有9!种,看到题目时限60s,于是否决了他并决定直接写暴力。gantians学长对H题有些想法,于是kotomi与他讨论,而我则上机写暴力的E。在写E的时候,gantians学长了解完D题题意,决定开始推。写完后测试了一下,感觉可以支持60s,就提交了,过了2秒左右返回TLE,询问教练得知时限只有3秒,于是重新想,kotomi学长上机写B。想了一会发现可以用spfa解决,于是在纸上把细节写了一下。kotomi学长样例测试不对,gantians学长帮忙debug,于是我就用空隙时间上去写E。期间gantians学长也写了一会D,由于我对E题的极限数据没有稳定的把握,所以降低了写E的优先级。在过了B之后上去写E,很快也Y了。gantians学长返回了一次WA后继续调试D题。kotomi学长与我讲了C题和G题的题意,并且发现G题是old的三维导弹拦截,于是他决定去开G题,留我想C。我顺着他告诉我的矩形并扫描线的想法YY了一会,没有想出方法。gantians学长跟我讲了D题的算法,听起来很科学,没有找到问题。他发现中间过程会爆int,修改成long long后提交,依旧返回WA。过C的队伍逐渐增多,我YY了一会枚举交点划线的dfs方法,突然发现n的值非常小,可以直接暴力解决,于是果断上机写,通过样例后直接提交,返回1Y。剩下的时间里在帮kotomi学长debugG题,未果。
== 总结 ==
=== by gantians ===
1. D本来可以1Y的,因为注意爆int的问题到结束也没查出来。。。一般确认算法和程序都没问题的话这个点特别注意。。。另外还可以生成大数据测试,可以很容易发现问题的。。。
2. E题是因为时限的关系才导致前期的争论,其实就该当没有时限来搞,这样就一步到位。。。
3. 读题真的很重要!!!读懂题目了可以算一下样例是得到的,这样不容易搞错!!
=== By Kotomi ===
1. 读题要认真,不能再读错题了,题意啊,范围什么的!(flag)要自己手算样例!
2. 题目的思路对了的情况下就可以大胆的写了,具体实现个人哪个比较熟练就用哪个就好了,不过最好养成习惯写比较科学的那种,不怕以后被卡。
3. 最后时刻不应该开没把握的G,专心一起搞D题说不定能发现错误。
=== by kotori ===
1.开场开始的3人3开还是蛮顺利的,但是最后一小时的时候还是应该避免3开,集中搞题来增加通过率,避免出现“各差一步”的情况。
另外不是对算法很有把握的情况下,最后的时间应当避免多开新题。
=== 待补题 ===
{{{
D: (已补 by gantians)
F:
G:
H:
I:
}}}
都是我的锅T T --- by kotomi
流水账
by gantians
我从后往前看,kotomi上去写A,过了,我看完题觉得没题可以马上写,想了一下H,想到四点共球,然后进行枚举的。。上去写了一点发现判交不好判。。旁边kotori好像和kotomi为了E题的算法争论了起来,然后kotori上去写了E,中间我和kotomi交换了一下题意,C题我知道了是矩形并,但是我也没看范围。。。B题很明显是模拟。。。发现E题T了,然后发现时限有问题,kotomi就上去写B了,我继续想D。。。我想到了一个做法,于是推了起来,kotomi的样例不过,就下来调了,我上去写了D。。然后kotomi上去调B,他样例不过,我帮他debug的时候发现题目看错了。。于是他改了下就过了。。我继续写D。。。写完测了部分样例,发现有错,kotori上去写E,我在纸上查错,E然后过了,我上去调D。。。调完样例过了,交了wa,然后就下来查错,他们讨论C和G。。kotomi有一个G的想法就上去写了,我下来推了下D,加入了检验的部分,然后交了一发,发现检验的写错了,又交了一发,都是wa。。。kotomi在上面写G,这时已经封board了,kotori突然发现C题范围很小,可以离散化暴力写。。。然后上去写了一会1Y = =|,我最后也没发现错误。。就结束了。。赛后发现是因为排序的时候会爆int。。导致排序错了
By Kotomi
今天从前面开始看,A题比较简单,看完就去写了,然后写完就过了。期间gantians学长推了一下H,感觉可做,但是讨论了一下之后,发现二分完半径之后应该怎么处理有点没有想法,不能搞定,于是放弃了。kotori学长看到E,感觉可做,讨论了一会,感觉没问题,但是纠结了一会用bfs呢,还是其他来转移,感觉有点没必要,科学的话直接写就可以了。 纸上的时限是60s,感觉可以随便写,然后2s就返回T了,被告知提交的时限不一致,然后kotori学长去想其他没这么暴力的做法,然后我去写B。 B写完发现样例不对,看了一下程序感觉挺科学的,gantians学长帮我算了一下样例,发现题意和我说的不一样= =#,刚好宽和窄的设定是不一样的。改了一下之后,再调试了一下就过了。然后kotori学长E题决定用spfa来转移,于是先上去写。gantians学长在推D的公式,我去把其他题目看完。C感觉是矩形扫描线,然后就不会做了。G题old成马,但是也不会...gantians学长推出D题的公式后,就上去写了,样例过了,交了就返回WA,不明真相,于是gantians学长就去打印debug了。期间有队伍过了C,就回去想C,但是还是没什么想法。于是开了新的坑,尝试乱搞G的做法。gantians学长改了一些地方,发现有地方可能爆int,改成long long之后还是WA。这时有点迷茫,因为我没有想这题,各种情况有点多,没有一一推过,听gantians学长说了一遍代码,感觉逻辑没有问题,就不知道怎么办了,感觉重写一遍可能来不及,只好继续debug。 最后发现C的范围比较小,直接暴力floodfill就可以了,于是kotori学长就上去写了,写完就过了。G因为做法不科学,最后也没有调出样例,就放弃了,最后D也没有debug出来,赛后发现有个地方没用long long...
by kotori
今天从D题开始看,读完后没有想到简单做法,于是读E,发现是个有些变化的八数码问题。读完E后kotomi学长过了A,于是与他讨论。kotomi学长讲了一种用队列维护的bfs方法,我没有听懂,他又讲了一遍我还是没理解_(:з」∠)_ 由于状态数只有9!种,看到题目时限60s,于是否决了他并决定直接写暴力。gantians学长对H题有些想法,于是kotomi与他讨论,而我则上机写暴力的E。在写E的时候,gantians学长了解完D题题意,决定开始推。写完后测试了一下,感觉可以支持60s,就提交了,过了2秒左右返回TLE,询问教练得知时限只有3秒,于是重新想,kotomi学长上机写B。想了一会发现可以用spfa解决,于是在纸上把细节写了一下。kotomi学长样例测试不对,gantians学长帮忙debug,于是我就用空隙时间上去写E。期间gantians学长也写了一会D,由于我对E题的极限数据没有稳定的把握,所以降低了写E的优先级。在过了B之后上去写E,很快也Y了。gantians学长返回了一次WA后继续调试D题。kotomi学长与我讲了C题和G题的题意,并且发现G题是old的三维导弹拦截,于是他决定去开G题,留我想C。我顺着他告诉我的矩形并扫描线的想法YY了一会,没有想出方法。gantians学长跟我讲了D题的算法,听起来很科学,没有找到问题。他发现中间过程会爆int,修改成long long后提交,依旧返回WA。过C的队伍逐渐增多,我YY了一会枚举交点划线的dfs方法,突然发现n的值非常小,可以直接暴力解决,于是果断上机写,通过样例后直接提交,返回1Y。剩下的时间里在帮kotomi学长debugG题,未果。
总结
by gantians
1. D本来可以1Y的,因为注意爆int的问题到结束也没查出来。。。一般确认算法和程序都没问题的话这个点特别注意。。。另外还可以生成大数据测试,可以很容易发现问题的。。。
2. E题是因为时限的关系才导致前期的争论,其实就该当没有时限来搞,这样就一步到位。。。
3. 读题真的很重要!!!读懂题目了可以算一下样例是得到的,这样不容易搞错!!
By Kotomi
1. 读题要认真,不能再读错题了,题意啊,范围什么的!(flag)要自己手算样例!
2. 题目的思路对了的情况下就可以大胆的写了,具体实现个人哪个比较熟练就用哪个就好了,不过最好养成习惯写比较科学的那种,不怕以后被卡。
3. 最后时刻不应该开没把握的G,专心一起搞D题说不定能发现错误。
by kotori
1.开场开始的3人3开还是蛮顺利的,但是最后一小时的时候还是应该避免3开,集中搞题来增加通过率,避免出现“各差一步”的情况。
另外不是对算法很有把握的情况下,最后的时间应当避免多开新题。
待补题
D: (已补 by gantians)
F:
G:
H:
I: