AC后感,此题挺好的,考验基本功,不能怨出题人。
查看原帖
AC后感,此题挺好的,考验基本功,不能怨出题人。
274050
四旬老汉楼主2020/11/13 02:38

考场上看了一眼此题,感觉不难,尤其是1581年以前,直接打表就能做,所以想着先做后面的题,最后留时间做这题,谁知到后来T2T3时间耗尽了,导致此题爆零。

今天终于把它AC了,仔细回想一下,其实不难,可以称得上是一道好题,考验的都是基本功,包括打表和二分法查找。

考场上必须冷静,才能想出解题的关键所在,先必须获得年,然后获得距离该年第一天的天数,从而求的月和日。2000年以前的每一年可以弄个表,存放该年最后一天距离前4713年1月1日的天数,用lower_bound就能很快找出年份,并且很容易算出距离该年第一天的天数。2000年以后的问题可转化成求一个距离2000年1月1日r天的日期,闰年规律固定,没有特殊情况,400年一个周期,每个周期97个闰年,共365400+97天,距离2000年1月1日的天数对365400+97模一下,用和2000年前同样方法二分法查表算出年月日,加上400的倍数就全部算完了。

2020/11/13 02:38
加载中...