HDU 5281 BestCoder Round #47 1002:Senior's Gun
Senior's Gun
学姐姐是一个酷酷的枪手。 她常常会随身携带n把枪,每把枪有一个攻击力a[i]。 有一天她遇到了m只怪兽,每只怪兽有一个防御力b[j]。现在她决定用手中的枪消灭这些怪兽。 学姐姐可以用第i把枪消灭第j只怪兽当且仅当b[j]≤a[i],同时她会获得a[i]−b[j]的分数。 每把枪至多只能使用一次,怪兽死后也不会复活。现在学姐姐想知道她最多能得到多少分(她可以不用消灭所有的怪兽)。
第一行包含一个整数T,表示测试数据组数。 对于每组测试数据: 第一行包含两个整数n,m,表示枪的数量和怪兽的数量。 第二行包含n个整数a[i],表示枪的攻击力。 第三行包含m个整数b[j],表示怪兽的防御力。 1≤n,m≤100000, −109≤a[i],b[j]≤109。
对于每组测试数据,输出一个整数表示对应的答案。
1
2 2
2 3
2 2
1
最后AC的时候我的内心是极为崩溃的,又是因为一些小细节错过了自己头一次在周赛中AC两道题的机会,这次要是AC两道题说明自己这一段时间以来还是有一些进步的,可惜方法没有错啊光速小子为什么没有自信检查一下细节啊,那时候最后比的15分钟,自己完全乱了,在思考方法哪里不对,其实仔细观察数据会发现ans肯定要超出啊,int变long long 啊。
发现还是真真正正的比赛锻炼思考的能力,就算是一些小型的比赛。头脑要保持冷静啊光速小子,cmp也写错,关键是还加进了两个sort里面,你当时的头 是有多混乱你告诉我。。。
这题就是贪心,用最狠的武器挑最软的柿子捏啊,没什么好说的。整个贪一遍,就AC了。。。就这么简单。。。也不要总把第二题想象得有多难。。。。。
代码:
#include <iostream>
#include <string>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std; int a[100005];
int b[100005]; bool cmp(int a,int b)
{
return a>b;
}
int main()
{
int Test;
int gun_num,guai,i,j;
long long ans;
cin>>Test; while(Test--)
{
ans=0;
cin>>gun_num>>guai; for(i=1;i<=gun_num;i++)
cin>>a[i];
for(i=1;i<=guai;i++)
cin>>b[i]; sort(a+1,a+gun_num+1,cmp);
sort(b+1,b+guai+1); i=1;j=1;
while(i<=gun_num&&j<=guai)
{
if(a[i]-b[j]>0)
ans += a[i]-b[j];
i++;
j++;
}
cout<<ans<<endl;
}
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
HDU 5281 BestCoder Round #47 1002:Senior's Gun的更多相关文章
- HDU 5280 BestCoder Round #47 1001:Senior's Array
Senior's Array Accepts: 199 Submissions: 944 Time Limit: 2000/1000 MS (Java/Others) Memory Limit ...
- HDU 5945 / BestCoder Round #89 1002 Fxx and game 单调队列优化DP
Fxx and game 问题描述 青年理论计算机科学家Fxx给的学生设计了一款数字游戏. 一开始你将会得到一个数\:XX,每次游戏将给定两个参数\:k,tk,t, 任意时刻你可以对你的数执行下面 ...
- hdu 4932 BestCoder Round #4 1002
这题真是丧心病狂,引来今天的hack狂潮~ Miaomiao's Geometry Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65 ...
- hdu 5643 BestCoder Round #75
King's Game Accepts: 249 Submissions: 671 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 6 ...
- hdu 5641 BestCoder Round #75
King's Phone Accepts: 310 Submissions: 2980 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: ...
- 贪心/二分查找 BestCoder Round #43 1002 pog loves szh II
题目传送门 /* 贪心/二分查找:首先对ai%=p,然后sort,这样的话就有序能使用二分查找.贪心的思想是每次找到一个aj使得和为p-1(如果有的话) 当然有可能两个数和超过p,那么an的值最优,每 ...
- Manacher BestCoder Round #49 ($) 1002 Three Palindromes
题目传送门 /* Manacher:该算法能求最长回文串,思路时依据回文半径p数组找到第一个和第三个会文串,然后暴力枚举判断是否存在中间的回文串 另外,在原字符串没啥用时可以直接覆盖,省去一个数组空间 ...
- 二分图判定+点染色/并查集 BestCoder Round #48 ($) 1002 wyh2000 and pupil
题目传送门 /* 二分图判定+点染色:因为有很多联通块,要对所有点二分图匹配,若不能,存在点是无法分配的,no 每一次二分图匹配时,将点多的集合加大最后第一个集合去 注意:n <= 1,no,两 ...
- 暴力+降复杂度 BestCoder Round #39 1002 Mutiple
题目传送门 /* 设一个b[]来保存每一个a[]的质因数的id,从后往前每一次更新质因数的id, 若没有,默认加0,nlogn复杂度: 我用暴力竟然水过去了:) */ #include <cst ...
随机推荐
- robotframework+appium 实现App自动化值环境搭建(一)
第一步: Cmd命令输入pip install robotframework-appiumlibrary 下载和导入appiumlibrary 第二步: 安装JDK,附件有JDK1.8安装包 第三步 ...
- java虚拟机之内存分配
Java 的自动内存管理主要是针对对象内存的回收和对象内存的分配.同时,Java 自动内存管理最核心的功能是 堆 内存中对象的分配与回收. JDK1.8之前的堆内存示意图: 从上图可以看出堆内存分为新 ...
- Ajax接收Json数据,调用template模板循环渲染页面的方法
一. 后台接口吐出JSON数据 后台php接口中,需要写三个部分: 1.1 开头header规定数据格式: header("content-type:application/json;cha ...
- redis学习笔记-03:redis安装
一.redis的安装和配置 1.下载redis-5.0.4.tar.gz到/opt目录下,解压命令 :tar -zxvf redis-5.0.4.tar.gz,解压后出现redis-5.0.4的文件夹 ...
- 转:NGINX 基于nginx_upstream_check_module-master 健康检测及平滑升级
https://www.cnblogs.com/linxizhifeng/p/7075325.html linux的nginx下安装tengine的nginx_upstream_check_modul ...
- MySQL序列解决方案
MySQL序列解决方案 MySQLOracleSQL MySQL自增长与Oracle序列的区别: 自增长只能用于表中的其中一个字段 自增长只能被分配给固定表的固定的某一字段,不能被多个表共用. 自增 ...
- mysql 索引优化法则
建表语句 CREATE TABLE staffs( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR (24) NOT NULL DEFAULT '' C ...
- 搜索await page.waitForSelector(allResultsSelector);
/** * Copyright 2017 Google Inc. All rights reserved. * * Licensed under the Apache License, Version ...
- MySQL性能调优语句
mysql>show global status; 可以列出MySQL服务器运行各种状态值 一.慢查询 mysql> show variables like '%slow%'; mysql ...
- 吴裕雄--天生自然JAVAIO操作学习笔记:RandomAccessFile
import java.io.File ; import java.io.RandomAccessFile ; public class RandomAccessFileDemo01{ // 所有的异 ...