今年上半学期的校队选拔题目,是从poj上抽的几道题。为了照顾尚未学习算法和数据结构的同学,同时结合前几次培训的内容,考察了模拟,搜索和数学题目,总体来说,题目没有太大的难度,但两道搜索较为繁杂,需要考虑一些细节问题,同时也要求良好的编写代码能力。编写代码能力是ACM学习的基础,希望各位同学能多花时间写一写题,加强编写代码的能力。若对题解有疑问,可在下方评论或直接与我联系。
【POJ2739】Sum of Consecutive Prime Numbers
对给定的一个数k,寻找可以被连续素数之和组成的方案数,由于在[1,10000]区间内的素数只有小于1300个,可以直接用素数筛找出所有素数后,通过枚举所有方案,得到答案。
#include
#include
#include
【POJ1573】Robot Motion
模拟题,求机器人在题中给出地图中行走的步数,根据题目中给定的规则执行即可,注意字符的读取。
#include
#include
#include
【POJ2109】Power of Cryptography
给出n,p,求使k^n = p的k,之前我做这道是用对数做的,后来发现直接开方就可以OTZ,所以其实这才是最水的一道题。
#include
#include
#include
【POJ3009】Power of Cryptography
DFS深度优先搜索,因为数据范围很小,不用加优化也可以通过,枚举每次滚动的方向进行搜索。值得注意的一点:本题中是先给列数,再给的行数。
#include
#include
#include
【POJ3414】Pots
BFS宽度优先搜索,可视为无权图最短路问题,用BFS解决,在每轮中枚举六种操作,第一次找到的解即为最优解,之后递归输出方案。
#include
#include
#include
【POJ1850】Code
递推,计算给出的字符串是第几个递增字符串,f[i][j]表示最高位是第i位,第i位为j(0 <= j < 26)的递增字符串个数,递推式为
f[i][j] = sum(f[i-1][k](1 <= k < 26))(j = 0)
f[i][j] = f[i][j-1] - f[i][j] (0 < j < 26)
#include
#include
#include
到此,本学期与ACM有关的活动已经全部结束,回顾月赛,新秀杯和这次的选拔赛,不知道大家在ACM中收获了什么?如果能在coding感受到快乐的话,那是再好不过了。时间已经临近期末,也请大家好好复习,祝大家在期末考试中能取得好成绩!另外,校集训队会在寒假中组织培训,主要内容为动态规划(DP)及图论算法。
我们寒假再见!
PS:天气太冷我已经冻感冒了,大家也注意身体(吸鼻涕,总之早点睡觉多喝热水总是没错的。