求几个算法问题的解答

1.给定正整数 和⼀个包含 个顶点的树,如果顶点对 满⾜它们在树上的距离不超过 ,
那么我们称其为“临近顶点对”。 1)请设计⼀个尽可能快的算法计算临近顶点对数量。
2)分析该算法的运⾏时间。
3)证明该算法给出了正确的输出。
2.骑⾏共享单⻋有以下两种收费⽅式:1)按次付费,1次1元;2)包⽉付费,开通⽉卡15元
后连续30天内⽆限制骑⾏。
给定 个⾮负整数 表示将来 天的计划骑⾏次数。
1)请设计算法求解最少花费。
2)请设计算法给出最优⽅案中购买⽉卡的时间