Hero HDU4310 贪心】的更多相关文章

When playing DotA with god-like rivals and pig-like team members, you have to face an embarrassing situation: All your teammates are killed, and you have to fight 1vN. There are two key attributes for the heroes in the game, health point (HP) and dam…
考虑每次血口的要少 就按照一滴血多少伤害来计算.由于直接相除有小数.考虑x/y > a/b  =>  x*b >y*a; #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; struct node { int hp; int dps; }a[]; bool cmp(node a,node b) { return a.dps*b.hp>a.hp*…
题目链接:https://cn.vjudge.net/problem/HDU-4310 题意 打dota,队友太菜,局势变成1vN.还好你开了挂,hp无限大(攻击却只有一点每秒-_-). 但是你并不想被A太多下,所以问题来了 给出对面的血量和每秒输出大小 问怎么安排,使得打败所有人后掉血最少 思路 首先可以想到我们必须一个一个打,这样所有人的总输出时间最少 因为如果打A一下,B一下,AB总输出肯定更大 其次考虑1v2的情况,因为1vN同理可得 现有ab两敌人 先打a的总输出为 \[ DPS_a*…
2017-08-26  15:25:22 writer:pprp 题意描述: • 1 VS n对战,回合制(你打他们一下,需要受到他们所有存活人的攻击)• 你的血量无上限,攻击力为1• 对手血量及攻击力给定• 消灭所有敌人掉最少的血量• n ≤ 20 贪心的去做,应该优先解决那些攻击力高血量低的敌人,所以应该按照 攻击力/血量 降序排列然后处理就好了 代码如下: /* @theme:hdu 4310 @writer:pprp @declare:简单的贪心算法 将攻击力/血量最高的敌人先进攻下来就…
A - Hero Time Limit:3000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 4310 Description When playing DotA with god-like rivals and pig-like team members, you have to face an embarrassing situation: All your t…
K - Hero Crawling in process... Crawling failed Time Limit:3000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status Description When playing DotA with god-like rivals and pig-like team members, you have to face an embarrassing…
Problem Description When playing DotA with god-like rivals and pig-like team members, you have to face an embarrassing situation: All your teammates are killed, and you have to fight 1vN. There are two key attributes for the heroes in the game, healt…
题意:给定你有 n 个敌人,你的伤害是 1,给出每个敌人的伤害,和敌人的血量,每一回合你可以攻击一个敌人,并且所有敌人都会攻击你,除非它已经死了,问你最少要多少要消耗多少血量. 析:一个很明显的贪心问题,按照 攻击 / 血量进行排序,然后一个一个的消灭就好了. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include <string> #inc…
题目链接:http://acm.hust.edu.cn/vjudge/contest/121192#problem/K 这也是一道贪心题,刚开始写时以为只要对每一敌人的攻击和血的乘积进行从小到大排序即可,但老是结果错误,最后看了下别人的思路才知道要比值  也可以第一的血乘以第二个的攻击与第二的血乘以第一个的攻击进行排序,就很好解决了 ac代码: #include <iostream> #include <fstream> #include <algorithm> usi…
这也属于一个贪心题.关键是排序的依据. 这题排序的依据是敌人的伤害/血量(DPS/HP),不难证明,当这个比值相同时,不论先解决谁效果是相同的.思路大部分在注释里. 题目大意: 假设你的血量无限,但是你的伤害每次只有1点.现在你有N个敌人,给出他们的血量和伤害,要你在损失血量最少的情况下,解决所有敌人. 样例输入:(第一行整数N指有N个敌人,后面N行输入对应敌人的血量和伤害) 1 10 2 2 100 1 1 100 样例输出: 20 201 #include<iostream> #inclu…