今日试题
Task 1. 数(num)
题目描述
有一个长度为 n的整数序列 a。
每一回合,你可以拿走某个位置上的数
ak
,然后序列中所有等于
ak−1
或者
ak+1
的数字会全部消失,而你将获得
ak
的收益。
求最大收益是多少。
输入格式
第一行一个数 n。
接下来一行 n 个数,依次为
a1...an
。
输出格式
一行一个数,表示最大收益。
数据范围
测试点 1~3:n≤10。
测试点 1~10:
1≤n≤105,1≤ai≤105
。
Task 2. 树(tree)
题目描述
一棵 n个点的树,两点间的距离定义为它们之间的最短路所经过的边数。
你需要统计有多少点对的距离恰好为 k。
注意:(u,v)、(v,u)看作同一点对。
输入格式
第一行两个整数 n、k。
接下来 n-1 行,每行两个数 u、v,描述一条树边 u-v。
输出格式
一行一个数,表示距离为 k 的点对个数。
数据范围
测试点 1~3:n≤1000。
测试点 4~5:k=2。
测试点 1~10:1≤n≤50000,1≤k≤500。
Task 3. 排列(perm)
题目描述
已知 p 是一个 1~n 的排列,其中满足
|pi−i|=1
的 i 有恰好 k 个。
求有多少种可能的 p,方案数模
109+7
。
输入格式
一行两个整数 n、k。
输出格式
一行表示方案数。
数据范围
测试点 1~3:n≤15。
测试点 4~6:n≤100。
测试点 1~10:1≤n≤1000,0≤k≤n。
今日感想
真是大坑,出题人没有用LaTeX格式
于是第一题就像这样
每一回合,你可以拿走某个位置上的数 a_k,然后序列中所有等于 a_k - 1 或者 a_k +1 的数字会全部消失,而你将获得 a_k 的收益。
我真不知道到底是 ak−1 还是 ak−1 啊
所以跪烂
我还是要仔细读题……
+1
认真读题……