USTC April 解题报告
【解题过程】
第一题看了A,直接套了整数求根的模板……其实不是很了解基本的原理,周末看一看。如果自己写的话应该是二分查找和高精度乘法。
A过了以后看B通过得人数很多,应该是水题,看了一下没什么问题就直接写了。系统返回Restricted Function若干次,(去年有次比赛也是在科大的OJ上碰到这个结果)于是包含各种库,再把函数名都加了”usr_”还是RF。最后看了faq才明白RE也可能判成Restricted Function,再读一下数据范围,少了一个0,加一下就过了。本来是可以1Y的代码折腾了这么多次,导致罚时直接罚到同题数倒数。
看了G,方向想偏了,没有做。
写了比较长时间的D题,最后还是没有过。
【思路&代码】
A
源代码:
B
根据数据范围其实可以很容易判断出靠谱算法大概的时间和空间复杂度。从” 0<=n<=10^6”可以推知大概有O(nlogn)的解法,于是就可以想到二分了。
二分一下结果的串长,然后用一次扫描1~n所有数字。扫描过程中用flag[i]记录一下数字i最后出现的位置。(读入时进行预处理,把不属于1..m范围的数字都改成0)
源代码: