有 n 种主武器,m 种副武器。每种武器有一个基础分数k种属性值 X[i] 。

选出一种主武器 mw 和一种副武器 sw,使得两种武器的分数和 + 每个属性的差值尽量大。(参考下面的式子)

多维的最远曼哈顿距离。

因为对于每一种属性对答案的贡献,要么是 Xmw[i] - Xsw[i] ,要么是 Xsw[i] - Xmv[i]。

枚举每个主武器所有属性的符号,副武器的符号与主武器相反。

然后每次从主武器和副武器里面分别找一个属性值和基础分数的总和最大的,用这两个最大值的和更新答案。

因为k <= 5,所以枚举所有符号的复杂度是 2^k <= 32,总复杂度是 O(2^k * nk)。

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long LL;
const int maxn = + ;
const LL INF = 1e19/; int n, m, k, t;
LL a[maxn][], b[maxn][];
LL sum; int main()
{
scanf("%d", &t);
for (int ca = ; ca <= t; ca++)
{
LL ans = ;
scanf("%d%d%d", &n, &m, &k);
for (int i = ; i <= n; i++)
for (int j = ; j <= k; j++) scanf("%lld", &a[i][j]); for (int i = ; i <= m; i++)
for (int j = ; j <= k; j++) scanf("%lld", &b[i][j]); for (int s = ; s <= (<<k)-; s++)
{
LL max1 = -INF, max2 = -INF;
for (int i = ; i <= n; i++)
{
sum = a[i][];
for (int j = ; j <= k; j++)
sum += a[i][j]*(s>>(j-) & ? :-); max1 = max(max1, sum);
} for (int i = ; i <= m; i++)
{
sum = b[i][];
for (int j = ; j <= k; j++)
sum += b[i][j]*(s>>(j-) & ? -:); max2 = max(max2, sum);
} ans = max(ans, max1+max2);
} printf("%lld\n", ans);
}
}

2018 Multi-University Training Contest 10 CSGO(HDU - 6435)(最远曼哈顿距离)的更多相关文章

  1. HDU 4666 最远曼哈顿距离

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4666 关于最远曼哈顿距离的介绍: http://blog.csdn.net/taozifish/ar ...

  2. 2018 Nowcoder Multi-University Training Contest 10

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

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

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

  4. 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 ...

  5. 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 ...

  6. 2016 Multi-University Training Contest 10

    solved 7/11 2016 Multi-University Training Contest 10 题解链接 分类讨论 1001 Median(BH) 题意: 有长度为n排好序的序列,给两段子 ...

  7. [二分,multiset] 2019 Multi-University Training Contest 10 Welcome Party

    Welcome Party Time Limit: 4000/4000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others)T ...

  8. 2015 Multi-University Training Contest 10(9/11)

    2015 Multi-University Training Contest 10 5406 CRB and Apple 1.排序之后费用流 spfa用stack才能过 //#pragma GCC o ...

  9. hdu 4666:Hyperspace(最远曼哈顿距离 + STL使用)

    Hyperspace Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Tota ...

随机推荐

  1. NodeJS学习视频

    腾讯课堂初级课程 https://ke.qq.com/webcourse/index.html#course_id=196698&term_id=100233129&taid=1064 ...

  2. JSON(未完待续,等讲到对象时再加)

    1 定义 JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言:JSON 使用 Jav ...

  3. require.js 模块化简单理解

    组件化 基于UI 样式布局 没有过多 js 代码操作的 比如:一个导航栏 一个表单 一个搜索框 一个侧边栏 一个html 等等.... 模块化 基于功能模块 一个可以替换的js部分称之为模块(modu ...

  4. 字典(dict),增删改查,嵌套

    一丶字典 dict 用{}来表示  键值对数据  {key:value}  唯一性 键 都必须是可哈希的 不可变的数据类型就可以当做字典中的键 值 没有任何限制 二丶字典的增删改查 1.增 dic[k ...

  5. js插件设置innerHTML时,在IE8下报错“未知运行时错误”

    问题描述: 网站中使用了一个js插件,设置innerHTML时,在IE8下报错“未知运行时错误”: <div id=”divContainer”> <a name=”link”> ...

  6. Windows Azure 配置Active Directory 主机(1)

    现在越来越多企业将自己业务系统迁移云端,方便公司日常运维管理.这篇文章将简单介绍一下,从 Windows Azure 虚拟网络上的虚拟机 (VM) 中的 Corp Active Directory 林 ...

  7. HTML视频简介

    此文章复制原来文章,原网址是https://www.html5rocks.com/zh/tutorials/video/basics/#toc-encode 简介 视频标记是 HTML5 功能中备受关 ...

  8. javaSe-字符型和布尔型

    其实java数据类型一节就可以全部写完了,为什么还需要字符型和布尔型呢,原因是这俩个都很重要: 字符型用char表示,字符分三种: 普通字符:char a = 'a',普通字符表示一个普通的字符,没有 ...

  9. Netweaver和CloudFoundry的服务器日志

    Netweaver 事务码SMICM,Goto->HTTP Plug-In->Server Logs: CloudFoundry 假设我部署本地应用到CloudFoundry之后,应用的状 ...

  10. python解析xml实例

    如下,一个银行卡打标签后导出的数据 <?xml version="1.0" encoding="ISO-8859-1"?> <annotati ...