#P16281. 「MierOI R1」Beyond
「MierOI R1」Beyond
题目描述
某一天,小 M 学习了一个叫做「分数规划」的算法,它是用来解决「分数规划问题」的。
:::info[分数规划问题]{open}
有 个物品,第 个物品的价值为 ,重量为 。 均为正整数。
从 个物品中选出 个,记所选物品为 ,最大化
$$\frac{a_{i_1}+a_{i_2}+\dots+a_{i_k}}{b_{i_1}+b_{i_2}+\dots+b_{i_k}}$$的值。
:::
恰巧,小 M 还做过一道叫做 sale 的题。他突发奇想,便出了一道题来考考你。
给定 ,以及物品的价值序列 ,求有多少种物品的重量序列 ,满足 ,使以下贪心策略恰好求得「分数规划问题」的最优解:
- 将物品 按价值 降序排序。对于价值相同的物品,按序号 升序排序。选取排序后的前 个物品。
答案对 取模。
输入格式
本题有多组测试数据。
输入的第一行包含一个正整数 ,表示测试数据的组数。
接下来依次输入 组测试数据。对于每组测试数据:
- 第一行,两个正整数 。
- 第二行, 个正整数 。
输出格式
对于每组测试数据,输出一行一个整数,表示满足条件的物品的重量序列 的个数。答案对 取模。
2
2 1
10 9
6 3
10 10 8 6 6 5
3
15
5
16 1
256 225 196 169 144 121 100 81 64 49 36 25 16 9 4 1
16 2
256 225 196 169 144 121 100 81 64 49 36 25 16 9 4 1
16 15
256 225 196 169 144 121 100 81 64 49 36 25 16 9 4 1
16 14
256 225 196 169 144 121 100 81 64 49 36 25 16 9 4 1
16 9
256 225 196 169 144 121 100 81 64 49 36 25 16 9 4 1
34816
18176
32996
16887
3171
提示
「样例 #1 解释」
对于第一组测试数据,满足条件的物品的重量序列 有 。当 时,贪心解为 ,最优解为 ,贪心策略未求得最优解。
「数据范围」
本题采用子任务捆绑测试。
对于所有测试数据,保证 ,,。
::cute-table{tuack}
| 子任务 | 分值 | ||
|---|---|---|---|
| ^ | |||
| ^ | |||