hdu 4544 湫湫系列故事——消灭兔子 贪心+sbt
2013-07-17 10:32
316 查看
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=4544
题目意思:
n只兔子,每只有个血量。
m支箭,每支箭有伤害量,购买所需Q币。
每只兔子只能被射一次,每支箭只能射一次。
求把所有兔子都杀死的所需最小Q币。
解题思路:
贪心+数据结构
先把兔子血量从大到小排序,再把箭的伤害量从大到小排序。
对于每只兔子,找到能够杀死它并且所需Q币最少的箭。//可以用multiset或priority_queue保存最小的Q币箭。
代码:
http://acm.hdu.edu.cn/showproblem.php?pid=4544
题目意思:
n只兔子,每只有个血量。
m支箭,每支箭有伤害量,购买所需Q币。
每只兔子只能被射一次,每支箭只能射一次。
求把所有兔子都杀死的所需最小Q币。
解题思路:
贪心+数据结构
先把兔子血量从大到小排序,再把箭的伤害量从大到小排序。
对于每只兔子,找到能够杀死它并且所需Q币最少的箭。//可以用multiset或priority_queue保存最小的Q币箭。
代码:
#include<iostream> #include<cmath> #include<cstdio> #include<cstdlib> #include<string> #include<cstring> #include<algorithm> #include<vector> #include<map> #include<set> #include<stack> #include<list> #include<queue> #define eps 1e-6 #define INF 0x1f1f1f1f #define PI acos(-1.0) #define ll __int64 #define lson l,m,(rt<<1) #define rson m+1,r,(rt<<1)|1 using namespace std; /* freopen("data.in","r",stdin); freopen("data.out","w",stdout); */ multiset<int>mys; int b[110000]; struct Inf { int h,v; }inf[110000]; bool cmp(int a,int b) { return a>b; } bool cmp1(struct Inf a,struct Inf b) { if(a.h!=b.h) return a.h>b.h; return a.v<b.v; } int main() { int n,m; while(scanf("%d%d",&n,&m)!=EOF) { for(int i=1;i<=n;i++) scanf("%d",&b[i]); sort(b+1,b+n+1,cmp); //把血量从大到小排序 for(int i=1;i<=m;i++) scanf("%d",&inf[i].h); for(int i=1;i<=m;i++) scanf("%d",&inf[i].v); sort(inf+1,inf+m+1,cmp1); mys.clear(); int j=1; ll ans=0; bool flag=true; //for(int i=1;i<=m;i+) for(int i=1;i<=n;i++) { while(j<=m&&inf[j].h>=b[i]) { mys.insert(inf[j].v); j++; } if(mys.empty()) { flag=false; break; } else { ans=ans+*mys.begin(); //printf(":%d\n",*mys.begin()); mys.erase(mys.begin()); //应该把该寄存器的内容删除 } } if(flag) printf("%I64d\n",ans); else printf("No\n"); } return 0; }
相关文章推荐
- HDU - 4544 湫湫系列故事——消灭兔子 贪心+优先队列
- HDU 4544 湫湫系列故事——消灭兔子 (贪心+优先队列)
- hdu 4544 湫湫系列故事——消灭兔子(贪心+优先队列)
- hdu 4544 湫湫系列故事——消灭兔子 优先队列+贪心
- hdu 4544 湫湫系列故事——消灭兔子 贪心+优先队列 解题报告
- hdu 4544 湫湫系列故事——消灭兔子(贪心+优先队列)
- hdu 4544 湫湫系列故事——消灭兔子(贪心,优先队列)
- hdu 4544 湫湫系列故事——消灭兔子(优先队列+贪心)
- hdu 4544 湫湫系列故事——消灭兔子(贪心)
- HDU 4544 湫湫系列故事——消灭兔子(优先队列+贪心)
- hdu 4544 湫湫系列故事——消灭兔子(优先队列 + 贪心)
- hdu 4544 湫湫系列故事——消灭兔子 优先队列+贪心
- hdu-4544-湫湫系列故事——消灭兔子-贪心+stl
- HDU - 4544 湫湫系列故事――消灭兔子 2013腾讯编程马拉松复赛第三场
- HDU 4544 湫湫系列故事——消灭兔子
- hdu 4544 湫湫系列故事——消灭兔子
- HDU-4544湫湫系列故事——消灭兔子
- HDU-4544-湫湫系列故事——消灭兔子
- hdu 4544 湫湫系列故事——消灭兔子
- HDU 4544 湫湫系列故事――消灭兔子