HDU4544 湫湫系列故事――消灭兔子
来源:互联网 发布:大数据性能 编辑:程序博客网 时间:2024/04/30 13:37
HDU 4544
Tags: 数据结构,贪心
Analysis:
将兔子的血量从大到小排序,将箭的杀伤力从大到小排序,对于每一个兔子血量,
将比他大的杀伤力大的剑压入优先队列,优先队列自己重写,让它每次抛出的数为价钱最小。
Code:
#include <cstdio>#include <queue>#include <algorithm>#include <functional>using namespace std;typedef long long LL;const int maxn = 100010;struct tt { int d; int p; bool operator <(const tt& t) const { return d>t.d||(d==t.d&&p<t.p); }} pt[maxn];int b[maxn];priority_queue<int , vector<int>, greater<int> > q;int main(){ int n, m, i, j; while(~scanf("%d%d",&n,&m)) { for(i=1; i<=n; i++) scanf("%d",&b[i]); for(i=1; i<=m; i++) scanf("%d",&pt[i].d); for(i=1; i<=m; i++) scanf("%d",&pt[i].p); sort(b+1,b+1+n,greater<int>()); sort(pt+1,pt+1+m); while(!q.empty()) q.pop(); LL ans = 0; bool flag = 1; for(i=1,j=1; i<=n; i++) { while(j<=m&&pt[j].d>=b[i]) { q.push(pt[j].p); j++; } if(!q.empty()) { ans += q.top(); q.pop(); } else { flag = 0; break; } } if(flag) printf("%I64d\n",ans); else printf("No\n"); } return 0;}
- HDU4544 湫湫系列故事――消灭兔子
- HDU4544 湫湫系列故事——消灭兔子
- HDU4544 湫湫系列故事——消灭兔子
- HDU4544 湫湫系列故事——消灭兔子(贪心算法,使用优先队列优化)
- HDU4544 湫湫系列故事——消灭兔子(贪心+优先队列)
- hdu4544湫湫系列故事——消灭兔子 priority queue
- HDU4544 湫湫系列故事——消灭兔子 (贪心+优先队列)
- 湫湫系列故事――消灭兔子
- HDU 4544 湫湫系列故事――消灭兔子(优先队列)
- hdu 4544 湫湫系列故事——消灭兔子
- HDU-4544-湫湫系列故事——消灭兔子
- HDU-4544湫湫系列故事——消灭兔子
- hdu 4544 湫湫系列故事——消灭兔子
- HDU 4544 湫湫系列故事——消灭兔子
- 湫湫系列故事——消灭兔子
- hdu 4544 湫湫系列故事——消灭兔子
- hdu 4544 湫湫系列故事——消灭兔子
- HDU 4544 湫湫系列故事——消灭兔子
- 实现游戏对象之间的通信
- 友元-----练习
- web.xml详细配置
- wp8
- configure samba
- HDU4544 湫湫系列故事――消灭兔子
- Resolving “error: failed to attach to process ID 0″ in Xcode
- 利用dispatch_once创建单例
- C#特性Attribute
- mmc生产运输投资问题
- Ubuntu12编译FreeRDP
- 关于java连接SQL2008的问题
- Hibernate count映射问题
- HDU 1556 线段树