题目 题意:给定一个奥特曼,n个洞穴,每个洞穴有 k i k_i ki只小怪兽,每只小怪兽有 a i j a_{ij} aij的防御值,当且仅当奥特曼的攻击力大于小怪兽的防御,才能击败小怪兽。
- 进入洞穴后,奥特曼要按顺序消灭完洞穴内的小怪兽,才能出来。
- 每消灭一只小怪兽,奥特曼的攻击力+1。
- 奥特曼可以选择攻击这n个洞穴的顺序。
求奥特曼要消灭所有小怪兽的最小初始攻击力。
思路: 计算每个洞穴所需要的最小的攻击力,以及对应的升级后的攻击力。倒推计算即可。 接着贪心取所需最小的攻击力对应的洞穴,再攻击次小的,以此类推。遇到攻击力不足的洞穴,再补充攻击力。
1300的题目,wa了几次,有被冒犯到,,
#include
using namespace std;
const int maxn = 100010;
int n, k;
int a[maxn];
struct node {
int in, out;
}val[maxn];
bool cmp(const node &a, const node &b) {
return a.in
关注
打赏
热门博文