A Visiting a Friend
题意: 猪在坐标0,朋友在坐标m(m>0), 在0 - m中间有n个传送点,每一个传送点,在传送点你可以传送到一个范围内所有坐标,求是否可以利用这些传送点到达点m
分析 max记录当前最远到达点,if(max>ai) 更新max,else 不能到达
代码参考
B. Coloring a Tree
题意 将一个树上所有节点染成指定颜色
分析 直接判断当前子节点与父节点是否有同一种颜色,如果不是,num++
代码参考
C. Hashing Trees
题意 给出一棵树的最长深度,并给出每个深度有多少个节点,判断树是否唯一,如果不唯一,输出两种方案,如果相邻两个深度的的节点个数都大于一,则这样的树必不唯一,因为下一个深度的节点可以都在同一个父节点下,也可以分散,所以输出方案就有了
代码参考
D. GCD of Polynomials
题意 多项式的除法,gcd函数,Fibonacci数列,Fibonacci数列相邻两个数需要进行调用gcd()函数的次数是最多的(原因是因为每一次调用gcd其实就是求Fibonacci数列的前一个数),同样道理,我们构造多项式的Fibonacci数列,
p0=1,p1=x
pn+1=x∗pn+pn−1
还有限制条件系数的绝对值小于等于1,于是只需要对
pn+1
的系数对2取余即可(同余系的概念)
参考代码