山东省高校组队训练邀请赛——总结

来源:互联网 发布:淘宝上发表论文多少钱 编辑:程序博客网 时间:2024/05/18 03:47

第一次正式组队,第一场组队后比赛。

仍有很多问题,仍需继续努力


开题后,没有找对题目,上去读了个难题(最后只有一队出了这个题),发现别人把J题A了,抓紧看了J题。


12分12秒,敲完交上,交成了C语言,编译错误。

12分39秒, J题AC(-1)。


这时候I题已经有人出了,判断一个数字里面含不含4,忘了怎么数字转换字符串,卡了一下,队友来写,队友手写转换函数卡住。换回来,队友又说4一直加10就可以解决了。。当时着急没多想,开始敲,敲完立马交。


30分40秒 Wrong Answer

后来以为中间细节错了,改了又交


31分34秒  Wrong Answer

太着急了!发现不对。。(丢人)。找到itoa()函数,忘了参数怎么写,最后用了sprintf(str, "%d", i);


41分55秒 I题AC(-2)。排名在山科 倒数第一。


再看F题,大坑题,想来想去,还是认为是从大到小输出数。


1小时08分54秒,直接交,Wrong Answer


很奇怪,后来发现,奇数是从大到小,偶数怎么都不行,只能输出-1。。(又丢人)


1小时46分53秒 F题AC(-1)。排名稍微往前。


这时候大家基本都A了三个题,又读了D题和H题,D题理解不懂,直接开H题。

H题推的很欢乐,推出来我想到了一个循环,就开始敲,敲完就交了,感觉还挺好。


2小时18分56秒 H题 时间超限。


循环太慢了,重新找规律,我发现人总要向澡堂让步,通过之前代码得出的答案,推出两个乘积的差为1或0.队友说是扩展欧几里得,立马翻书。

之前做过一个扩展欧几里得,当时也是不会,后来也没补。(还是学得少啊)

扩展欧几里得:a*x+b*y=gcd(a,b)

对于这个题,gcd == 1 的时候才会用到这个来求x,y。 但是得出的只有其中一个(x,y),其中一个为负数,而且题目中必须 b*y - a*x == 1.公式得出来的可能是 -1.

得不出答案,书中写到有多组解,解等于 x+ka' , y-kb' (a' = a / gcd(a,b) , b' = b / gcd(a,b) ,k为整数).

太着急,想不出k怎么得出,暴力加减未果。后来灵感来了,只有a>0才不符合情况,a只能减b。


4小时04分58秒 H题 AC(-1)。排名第十。


剩下的为知识盲区,仍需努力学习提高。

这次前几个题目比较水,没有把握好机会,导致罚时太高,近乎垫底。后来A了H题还算扳回一些。做题太着急了~~

继续努力吧~


hhhhhh

a*x+b*y=gcd(a,b)