题意:有N个主武器(MW)和M个副武器(SW),每个武器都有自己的S值,和K个附加属性xi。要选取一对主副武器搭配,搭配后获得的性能由该公式得出:

求获得最大的性能为多少。

分析:由于|xm - xs| = max (xm - xs, xs -xm) 。所以每种武器如果选择,则其属性xi在最后贡献中只有正负两种状态。那么对于每一种武器,其对最终贡献可能有2^K中组合,

若主武器的一种组合为S,则其选取的副武器的组合即为S的补集。所以对每一种组合S,枚举每个武器在该组合下的贡献并记录最大值。

最后遍历2^K种组合,求S与S反搭配的最大值。

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int INF = 0x3f3f3f3f;
LL MW[<<],SW[<<];
LL ans = ;
LL x[]; int main()
{
#ifndef ONLINE_JUDGE
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
#endif
int T,N,M,K;
scanf("%d",&T);
while(T--){
scanf("%d %d %d",&N, &M, &K);
memset(MW,-INF,sizeof(MW));
memset(SW,-INF,sizeof(SW));
int up = <<K;
for(int i=;i<=N;++i){
LL val; scanf("%lld",&val);
for(int j = ;j<K;++j) scanf("%lld",&x[j]);
for(int s=;s<up;++s){
LL tmp = val;
for(int j=;j<K;++j){
if(s&(<<j)) tmp += x[j];
else tmp -= x[j];
}
MW[s] = max(MW[s],tmp);
}
}
for(int i=;i<=M;++i){
LL val; scanf("%lld",&val);
for(int j = ;j<K;++j) scanf("%lld",&x[j]);
for(int s=;s<up;++s){
LL tmp = val;
for(int j=;j<K;++j){
if(s&(<<j)) tmp += x[j];
else tmp -= x[j];
}
SW[s] = max(SW[s],tmp);
}
}
LL ans = ;
for(int s=;s<up;++s){
ans = max(ans,MW[s]+SW[up--s]);
}
printf("%lld\n",ans);
}
return ;
}

HDU - 6435 Problem J. CSGO 2018 Multi-University Training Contest 10 (二进制枚举+思维)的更多相关文章

  1. HDU - 6435 Problem J. CSGO (曼哈顿距离变换)

    题目大意:有两类武器(主武器和副武器),每类有若干把,每把武器都有一个基础属性S,以及k个附加属性,让你选一把主武器M和一把副武器S,使得最大. 显然后面的和式是一个k维的曼哈顿距离,带绝对值符号不好 ...

  2. HDU - 6430 Problem E. TeaTree 2018 Multi-University Training Contest 10 (LCA+枚举因子)

    题意:一棵树,每个点都有自己val(1 <= val <= 1e5),而任意两个点u,v可以对lca(u,v) 产生gcd(valu,valv)的贡献,求每个点能接受到来自子树贡献的最大值 ...

  3. 2018 Nowcoder Multi-University Training Contest 10

    Practice Link J. Rikka with Nickname 题意: 给出\(n\)个字符串,要求依次合并两个串\(s, t\),满足将\(t\)合并到\(s\)中变成\(r\),使得\( ...

  4. 2018 Multi-University Training Contest 10 Solution

    A - Problem A.Alkane 留坑. B - Problem B. Beads 留坑. C - Problem C. Calculate 留坑. D - Problem D. Permut ...

  5. 2015 Multi-University Training Contest 10 hdu 5406 CRB and Apple

    CRB and Apple Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)To ...

  6. hdu 5416 CRB and Tree(2015 Multi-University Training Contest 10)

    CRB and Tree                                                             Time Limit: 8000/4000 MS (J ...

  7. 2015 Multi-University Training Contest 10 hdu 5412 CRB and Queries

    CRB and Queries Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Other ...

  8. HDU 6141 - I am your Father! | 2017 Multi-University Training Contest 8

    思路来自 FXXL 最小树形图模板用kuangbin的 /* HDU 6141 - I am your Father! [ 最小树形图 ] | 2017 Multi-University Traini ...

  9. 2018 Multi-University Training Contest 10 CSGO(HDU - 6435)(最远曼哈顿距离)

    有 n 种主武器,m 种副武器.每种武器有一个基础分数k种属性值 X[i] . 选出一种主武器 mw 和一种副武器 sw,使得两种武器的分数和 + 每个属性的差值尽量大.(参考下面的式子) 多维的最远 ...

随机推荐

  1. 远程sql 同步程序

    exec sp_configure 'show advanced options',1reconfigureexec sp_configure 'Ad Hoc Distributed Queries' ...

  2. 要生成一个窗口,通常使用Window的子类Frame类进行实例化

    要生成一个窗口,通常使用Window的子类Frame类进行实例化,而不是直接使用Window 类,框架的外观就像平常Windows系统下的窗口,有标题.边框. 菜单 和大小等. setSize()方法 ...

  3. noip 模拟赛 After 17(递推+特殊的技巧)

    来源:Violet_II T1 好神的一题,我竟然没做出来QAQ 首先我们发现,答案是sigma(x[i]*x[j], i>j)+sigma(y[i]*y[j], i>j).显然只需要讨论 ...

  4. 从零开始开发一个vue组件打包并发布到npm (把vue组件打包成一个可以直接引用的js文件)

    自己写的组件 有的也挺好的,为了方便以后用自己再用或者给别人用,把组件打包发布到npm是最好不过了,本次打包支持 支持正常的组件调用方式,也支持Vue.use, 也可以直接引用打包好的js文件, 配合 ...

  5. hdu 3001(状压dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3001 思路:这道题类似于TSP问题,只不过题目中说明每个城市至少要走一次,至多走2次,因此要用到三进制 ...

  6. Laravel5.1 搭建博客 --后台登录

    今天咱来实现后台的登录. 首先我们的后台需要三个控制器: PostController:管理文章. TagController:管理文章标签. UploadController:上传文件. 当我们访问 ...

  7. Docker入门与应用系列(九)图形界面管理之Portainer

    介绍 Portainer是一个开源.轻量级Docker管理用户界面,基于Docker API,可管理Docker主机或Swarm集群,支持最新版Docker和Swarm模式.官方文档https://p ...

  8. GIT 回退出错 Unlink of file 'xx' failed. Should I try again? (y/n) 解决办法

    发生过程 回退版本 如果回退版本时 里面有删除或者移动的文件 容易出这个问题 解决方法 git reset --hard 版本号  回退失败了  就 本地工作目录跟版本那个工作目录比较   然后还原修 ...

  9. Mycat安装及测试分片总结

    1.安装jdk1.72.连接实际mysql数据库 用命令行工具或图形化客户端,连接mysql,创建DEMO所用三个分片数据库:(默认schema.xml中的配置需要三个库) CREATE databa ...

  10. 报错 findMergedAnnotation activemq

    springmvc 集成activemq引入activemq-all-5.14.4有冲突 springmvc 4.2.9集成activemq-5.14.4时报错,错误信息如下 NoSuchMethod ...