611 字
3 分钟
【ACM 算法题单】等价变换相关问题
等价变换题目合集
观光团买票难题
Problem Statement
某单位共有 个人,景区里一共有 个项目。每个项目 有两个正整数参数:折扣系数 和票价 。
购票规则如下:
- 如果有 个人买票游玩项目 ,则单张门票的价格为 。
- 个人游玩该项目的总花费为 。由于总花费不会为负数,实际计算公式为 。
单位里的每个人最多可以选择 个项目游玩,也可以不选任何项目。所有员工将在明晚提交他们的选择,然后由你统一购票。你需要准备足够多的钱,以应对所有可能的员工选择情况。请返回这个 “最保险” 的钱数(即在所有可能的分配方案中,单位总花费的最大值)。
Constraints
Input
输入包含多行:
- 第一行包含两个整数 和 。
- 接下来的 行,每行包含两个整数,分别表示第 个项目的 和 。
Output
输出一个整数,表示最保险的准备金额。
题目要点解析
灌溉花园所需的最少水龙头数目
Problem Statement
在 轴上有一个长度为 的花园,范围从 到 。
花园里安装了 个水龙头,分别位于 的位置。给你一个整数 和一个长度为 的整数数组 ranges ,其中 ranges[i] 表示第 个水龙头(位于 处)的灌溉范围为 。
请你求出能够灌溉整个花园 所需的最少水龙头数目。如果花园无法被水龙头全灌溉,请返回 。
Constraints
Input
输入包含两行:
- 第一行包含一个整数 。
- 第二行包含 个整数,表示数组 中的元素。
Output
输出一个整数,表示能够灌溉整个花园的最少水龙头数目。
Sample Input 1
53 4 1 1 0 0Sample Output 1
1Sample Input 2
30 0 0 0Sample Output 2
-1