设为首页 加入收藏

TOP

HDU4544 湫湫系列故事??消灭兔子
2014-11-23 20:16:25 来源: 作者: 【 】 浏览:7
Tags:HDU4544 系列 故事 消灭 兔子

Tags: 数据结构,贪心

Analysis:

将兔子的血量从大到小排序,将箭的杀伤力从大到小排序,对于每一个兔子血量,

将比他大的杀伤力大的剑压入优先队列,优先队列自己重写,让它每次抛出的数为价钱最小。

Code:

[cpp] view plaincopyprint 
#include    
#include    
#include    
#include    
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, greater > 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());  
          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;  
}  

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇ZOJ 3723 (浙大月赛)状压DP 下一篇libprotobuf ERROR google/protob..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·微服务 Spring Boot (2025-12-26 18:20:10)
·如何调整 Redis 内存 (2025-12-26 18:20:07)
·MySQL 数据类型:从 (2025-12-26 18:20:03)
·Linux Shell脚本教程 (2025-12-26 17:51:10)
·Qt教程,Qt5编程入门 (2025-12-26 17:51:07)