第一题是寻找第K个素数,用得最基本的方法,因为最大只到第1W个,所以应该不会超时。当然,也有更高效的算法,有兴趣的可以看看北大出版的初等数论。
第二题排序并去除重复元素,很菜的题,排序后输出的时候用一个临时变量把前一个元素记下防止重复便可。
第三题是典型的LCS问题,动态规划。有人说DP很好用,问题在于能否看出是DP。这题是典型的DP。还有遗传算法的解法,刚看了个论文,效率很高,主要用于DNA序列检测。
第四题的话,有两种思路,一种是相当于计算当前日期与输入日期之间相差的天数,然后MOD7来获得,还有一种方法是个很诡异的公式,叫蔡勒公式,具体推导见北大初等数论教材附录。